An Object Oriented Testing Framework.
Project description
An object oriented testing framework.
Installation
From pip3:
$ pip3 install --upgrade rstcheck
From source:
$ python3 setup.py --quiet install
Tests
Install the pitest package first, then:
$ cd unittests $ python3 -m unittest
Usage Examples
- Write a test case:
import pitest class MyTestCase(pitest.TestCaseBase): # By default, test methods are methods whose names start with 'test_'. You # can change the matching patterns by defining the 'test_patterns' class # variable by uncommenting the following line: # test_patterns = [ 'mytest_*', 'yourtest_*' ] # The start * means it matches anything, just like the command line glob. # If test methods have inter-dependencies, i.e., certain tests must precede # some other tests, you can define the dependencies using the # 'internal_deps' class variable. Here is an example: # internal_deps = { 'test_foo1': [ 'test_bar1*', 'test_bar2*' ], # 'test_hel*lo': [ 'test_no', 'test_yes*' ], # } # If this test case depend on other test cases, you can specify their # dependencies via the 'deps' class variable. Here is an example: # deps = [ 'MyTestCase1', 'MyTestCaseFoo*', ] # When you reference other test cases, you do NOT need to import the files # that define the referenced test cases. But if they cannot be found by the # end of the day, error will occur. def __init__(self[, *args[, **kwargs]]): pass # Run once before running all test methods. def setup_instance(self[, *args[, **kwargs]]): pass # Run once after running all test methods. def teardown_instance(self[, *args[, **kwargs]]): pass # Run once before running every single test method. def setup(self[, *args[, **kwargs]]): pass # Run once after running every single test method. def teardown(self[, *args[, **kwargs]]): pass # Actual test methods, names matching 'test_patterns'. def test_foo_something(self[, *args[, **kwargs]]): pass def test_foo_something_else(self[, *args[, **kwargs]]): pass def test_bar_something(self[, *args[, **kwargs]]): pass def test_bar_something_else(self[, *args[, **kwargs]]): pass
- Write argument file
import pitest __pitest_main_default_args_name__ = 'my_args' my_args = pitest.TestCaseArgs() my_args.set_method_args('__init__', args = ('Anndee', ), kwargs = { 'kwarg0': 'KoolArg' }) my_args.set_method_args('test', args = ('naathing', ), kwargs = { 'kwarg1': 'at owl' }) my_args2 = pitest.TestCaseArgs() my_args2.set_method_args('__init__', args = ('Bashii', ), kwargs = { 'kwarg0': 'KoolArg2' }) my_args2.set_method_args('test', args = ('naathing', ), kwargs = { 'kwarg1': 'at owlll' })
- Run the test cases
Discover tests:
$ python3 -m pitest discover (case | method | all)
Run tests:
$ python3 -m pitest run (case | method) name
Scan given directory:
$ python3 -m pitest --start-dir some/dir ...
Run tests with dynamic arguments:
$ python3 -m pitest run case MyTestCase --args-file my_args.py
Use a non-default argument object in the file:
$ python3 -m pitest run case MyTestCase --args-file my_args.py \ --args-name my_args2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size pitest-0.1.tar.gz (13.7 kB) | File type Source | Python version None | Upload date | Hashes View |