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]

Changes

1.4

  • Python >=3.7 required

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

pytest-parametrized-1.4.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytest-parametrized-1.4.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for pytest-parametrized-1.4.tar.gz
Algorithm Hash digest
SHA256 118b1200638f1ef5bcaaafeae9c6ad12bf9888fa49d3701ff3c2a302f6c6bb2e
MD5 c111a90d04bd37645037df1bb1fea111
BLAKE2b-256 dab03056d09370ad171b65687863e6245cc6bc30177f9c2a9253243af869401e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytest_parametrized-1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2793c6dd5793dda2b3a5788bf7914c37d045f5b476a6ff2d986376125b30e52b
MD5 6f4511a6155082f3c7dda1ffbb052fc2
BLAKE2b-256 f54168c394d19e0f6c822686b08b6c6cb726f765567aa17f79ffa4b3d462f6d9

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