Generate pytest tests from your Python source files.
Project description
Getting tired of manually writing unit test stubs for your Python code? Easy.
Example
# file: example.py
def testable_func(arg_one, arg_two):
pass
class AClass:
def __init__(self, some, constructor, params):
pass
def testable_func_in_class(self, an_arg):
pass
$ pytestgen example.py
# file: test_example.py
import pytest
import example
@pytest.mark.parametrize(
"arg_one,arg_two,expected",
[
# TODO: fill in test data for test_testable_func
# pytest.param(, , id="")
]
)
def test_testable_func(arg_one, arg_two, expected):
# TODO: create assertions for test_testable_func
# example.testable_func(arg_one, arg_two)
pass
@pytest.mark.parametrize(
"instance,an_arg,expected",
[
# TODO: fill in test data for test_aclass_testable_func_in_class
# pytest.param(example.AClass(some, constructor, params), , expected, id="")
]
)
def test_aclass_testable_func_in_class(instance, an_arg, expected):
# TODO: write test for test_aclass_testable_func_in_class
# TODO: create assertions for test_aclass_testable_func_in_class
# instance.testable_func_in_class(an_arg)
pass
Installation
$ pip install pytestgen
Usage
# generate tests for directory 'my_package' in 'tests/' directory
$ pytestgen my_package
# generate tests for some python files and directory 'the_package'
$ pytestgen my_module_a.py another_module.py the_package
# generate tests for directory 'cool_app' in 'cool_tests/' directory
$ pytestgen cool_app -o cool_tests
# generate tests for functions 'foo' and 'bar' in 'functionality.py'
$ pytestgen functionality.py -i foo -i bar
Full usage text
Usage: pytestgen [OPTIONS] PATH...
Generate pytest unit tests from your Python source code.
Options:
-o, --output-dir PATH The path to generate tests in. [default: tests]
-i, --include FUNC Function names to generate tests for. You can use
this multiple times.
-h, --help Show this message and exit.
License
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.
Source Distribution
pytestgen-0.1.1.tar.gz
(8.8 kB
view hashes)
Built Distribution
pytestgen-0.1.1-py3-none-any.whl
(10.9 kB
view hashes)
Close
Hashes for pytestgen-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8aa7771f2b7ff424af05114d75e32ccacda124cd08f32f4aebb9b2fb4b192a1f |
|
MD5 | 50b8abe2e781515e22a110718bd549fe |
|
BLAKE2b-256 | 593f45172ec794add959341741bb893551569e4720c9241d2d409eb6e669bc96 |