Skip to main content

Pytest decorator for parametrizing tests with default iterables.

Project description

image image image image build image CodeQL 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

pytest.param is supported for single values or .product.

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.7.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

pytest_parametrized-1.7-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file pytest_parametrized-1.7.tar.gz.

File metadata

  • Download URL: pytest_parametrized-1.7.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pytest_parametrized-1.7.tar.gz
Algorithm Hash digest
SHA256 3ec50eb164dae2ad3a0595ec197ff8bc1ce741342991f0016ba7daa6a861361b
MD5 3033c5e0559832f8767a01e27195d505
BLAKE2b-256 44ae8ed9bd7dee749610f4e1c52f1bc28f1dfc873f41fc54fcaf509e07829237

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_parametrized-1.7.tar.gz:

Publisher: release.yml on coady/pytest-parametrized

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for pytest_parametrized-1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a7da6948c0ccb6798924f600b01c4c19064d46fd2bd49b5406c2d9aa7303d05e
MD5 6088877197fdb191099f5f2bcb6d3158
BLAKE2b-256 926651fdf9cb516783cfa9363b587fd9a99f86726bd5606baa6c9adf0fa4b0d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_parametrized-1.7-py3-none-any.whl:

Publisher: release.yml on coady/pytest-parametrized

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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