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.0.tar.gz
(8.8 kB
view hashes)
Built Distribution
pytestgen-0.1.0-py3-none-any.whl
(10.9 kB
view hashes)
Close
Hashes for pytestgen-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8be80d7de8ab137dd1527cb8eaea9ca1a2b781bc84904ce2214e05b2349546dc |
|
MD5 | 4b6221736878d6be86ee6941b27647bb |
|
BLAKE2b-256 | b074d3b321a7afcc9024a993b37e1935a512dcd2796a162298bbefa4cec41422 |