pytest-parametrized 1.5

Creator: railscoder56

Last updated:

Add to Cart

Description:

pytestparametrized 1.5

Pytest decorator for parametrizing tests with default iterables, providing alternative syntax for pytest.mark.parametrize.
Usage
Decorate tests with iterable default values. Other fixtures can still be used as normal.
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]

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.