Skip to main content

Pytest decorator for parametrizing tests with default iterables.

Project description

image image image image image image image image

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]

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

pytest-parametrized-1.5.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

pytest_parametrized-1.5-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file pytest-parametrized-1.5.tar.gz.

File metadata

  • Download URL: pytest-parametrized-1.5.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pytest-parametrized-1.5.tar.gz
Algorithm Hash digest
SHA256 b1d2f15786eb9285ece4b1a95acfd5eb765120188e2fddee0db92ddf86a0398d
MD5 010cad1c13776519f0050e2f2f21e0ea
BLAKE2b-256 e494d5880bfaac8b843930db953b4d79229df5aa0948c0f4c2dd8f85b8b068ce

See more details on using hashes here.

File details

Details for the file pytest_parametrized-1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_parametrized-1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 56d698e3ce48d7150644548616c1569679c17aeb7f448dc969f18ba0e5fa4a17
MD5 a78ceff374a514dde647cedfd42764e1
BLAKE2b-256 0d467e8b2440479fc2760abdae5ed11a37b98dba40ee92b72a0788ac3e8c8fdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page