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 details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
pytestgen-0.1.1-py3-none-any.whl
(10.9 kB
view details)
File details
Details for the file pytestgen-0.1.1.tar.gz.
File metadata
- Download URL: pytestgen-0.1.1.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ef93357546cc3e45be913e0887cdf7315966635f055f44c099b5def58434056
|
|
| MD5 |
e3da665c312e58142731722631ec3c97
|
|
| BLAKE2b-256 |
b569c23be3ac8d7500c39bcbd23357bee21433453dd5b39fd971ff20fb39b367
|
File details
Details for the file pytestgen-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pytestgen-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.9 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8aa7771f2b7ff424af05114d75e32ccacda124cd08f32f4aebb9b2fb4b192a1f
|
|
| MD5 |
50b8abe2e781515e22a110718bd549fe
|
|
| BLAKE2b-256 |
593f45172ec794add959341741bb893551569e4720c9241d2d409eb6e669bc96
|