Skip to main content

Executor of unittest.TestCase subclasses ordered by groups.

Project description

Build Status Codacy Badge GitHub top language GitHub repo size python License: GPL v3

TestCasesExecutor

Execute configured groups of TestCases (subclasses of unittest.TestCase), display human readable result in terminal, ordered by group and testcase, and generate a html file report.

Install

$ pip install testcases_executor

This also install Jinja2 used to generate html report.

Config

Structure example

Create a file named testcases.py in the root directory of your project.
Inside it, import yours TestCases and make a list (or tuple) named groups that is made up of tuples, each representing a group. For example:

from your_app.test_script import TCaseOne, TCaseTwo, TCaseThree, TCaseFour
groups = [  # or (
    ('Group one', 'one', [TCaseThree, TCaseTwo]),  # or (TCaseThree, TCaseTwo)),
    ('Group two', 'two', [TCaseOne, TCaseFour]),  # or (TCaseOne, TCaseFour)),
]  # or )

Constraints

  • groups must be a list or a tuple.

  • groups's item (group's representation) must be a tuple.

  • each tuple must contain 3 items:

    • group's name must be a string.
    • argument's name used to run all group's testcases string without space.
    • unittest.TestCase subclasses must be a list or a tuple.
  • group and argument names, unittest.TestCase subclass must used once.

Usage

$ python -m testcases_executor

This run all tests, display result in terminal before generate, in the root directory, the html report file named tc_executor_report.html. It's possible to customize the command with following availabe arguments.

Available arguments

  • Options

    • -h, --help: display help message.
    • -o, --open: open html report in browser after test.
  • Tests selection

    • -group_argument_name: run all group's testcases's tests.
    • -TestCaseName:(without parameter) run all testcase's tests.
    • -TestCaseName:(with test's names in parameter) run desired tests.

Some examples:

$ python -m testcases_executor -two
$ python -m testcases_executor -one -TCaseFour -o
$ python -m testcases_executor -TCaseTwo test_one -TCaseOne test_three
...

Result's screenshots

Terminal

Terminal group one Terminal group two Terminal errors

Html Report

It use Bootstrap4, jQuery and Fontawesome icons (via stackpath cdn).

Html report

Click on table's lines to see tests's infos.

Html errors

Test

For the same reasons that meeting your future self would cause a spacio temporal shock, testing a tester using this same tester would cause a spacio testorial shock. So above all, don't.
Run testcases_executor.tests, using unittest:

$ python -m unittest testcases_executor.tests -v

:+1: HtmlTestRunner was a great inspiration, so thank you for that.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

testcases_executor-1.0.0.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

testcases_executor-1.0.0-py3-none-any.whl (51.2 kB view details)

Uploaded Python 3

File details

Details for the file testcases_executor-1.0.0.tar.gz.

File metadata

  • Download URL: testcases_executor-1.0.0.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for testcases_executor-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b069e80727bad3e9ebae6486f80b88f7e7a779ae5dee222117d16665894391ff
MD5 c4f5e6265ba26c0c21c5036b4fac16c7
BLAKE2b-256 c66a36d9647c396349ad38827174ab309d598344a3e1ebdf78886686c12f2c77

See more details on using hashes here.

File details

Details for the file testcases_executor-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: testcases_executor-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 51.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for testcases_executor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b56ba43500ead9ee94acd41543b9a44c328198d08e0970d1b26599ffdf3ca316
MD5 1c3c96c095a95483151fbfe324ea7b3c
BLAKE2b-256 3e83b6830d01023b120a4bd18dd30fae8f790f9db6ad5967be4a24947e3db027

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page