Pytest plugin for parametrizing tests with default iterables.
Project description
Pytest module for parametrizing tests with default iterables, providing alternative syntax for pytest.mark.parametrize.
Usage
Decorate tests with iterable default values.
functions
from parametrized import parametrized
@parametrized
def test(name=values, ...):
"""test single parametrized arg with each value"""
@parametrized.zip
def test(name=values, name1=values1, ...):
"""test parametrized args with zipped values"""
@parametrized.product
def test(name=values, name1=values1, ...):
"""test parametrized args with cartesian product of values"""
Zip before and after example:
@pytest.mark.parametrize("test_input,expected", [
("3+5", 8),
("2+4", 6),
("6*9", 42),
])
def test_eval(test_input, expected):
assert eval(test_input) == expected
@parametrized.zip
def test_eval(test_input=["3+5", "2+4", "6*9"], expected=[8, 6, 42]):
assert eval(test_input) == expected
Product before and after example:
@pytest.mark.parametrize("x", [0, 1])
@pytest.mark.parametrize("y", [2, 3])
def test_foo(x, y):
pass
@parametrized.product
def test_foo(x=[0, 1], y=[2, 3]):
pass
fixtures
Parametrized fixtures which simply return their param.
fixture_name = parametrized.fixture(*params, **kwargs)
Before and after example:
@pytest.fixture(params=[0, 1], ids=["spam", "ham"])
def a(request):
return request.param
a = parametrized.fixture(0, 1, ids=["spam", "ham"])
Installation
% pip install pytest-parametrized
Tests
100% branch coverage.
% pytest [--cov]
Changes
1.3
- Python >=3.6 required
1.2
- Namespace plugin removed
1.1
- pytest 4 compatibility
1.0
parametrized
keyword options
0.2
fixture
keyword options
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
Built Distribution
Close
Hashes for pytest_parametrized-1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69f95e358f5c1817e759f272c042c348f51d065b4eb6cbe45e8d3842228d791f |
|
MD5 | 1ad5461a93d42210f537aba79f8ee4cb |
|
BLAKE2b-256 | 9e6dea2f79159348c3a086dc235601b94e2e847ce64f608d181c61b9a79fce81 |