Skip to main content

Pytest plugin for parametrizing tests with default iterables.

Project description

image image image image image image image image image

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

Uploaded Source

Built Distribution

pytest_parametrized-1.2-py2.py3-none-any.whl (3.4 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: pytest-parametrized-1.2.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/2.7.15

File hashes

Hashes for pytest-parametrized-1.2.tar.gz
Algorithm Hash digest
SHA256 71512cc87ed9f458a8cd8eda79b422ed49e42bde4a29250fc561715e8faa1048
MD5 e6d36cd66ca2aacda578c701d30327b6
BLAKE2b-256 8d9ef1e3036df363bf13ae9c462fcd8923f3b8b3ebaf821424a9020967e16ef0

See more details on using hashes here.

File details

Details for the file pytest_parametrized-1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: pytest_parametrized-1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/2.7.15

File hashes

Hashes for pytest_parametrized-1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 afc9540d2a380881e31e2032e6531472605a2c23e349f6293e74828684bc8ca9
MD5 bbb7c61f14aa0379f38c89619cf729c9
BLAKE2b-256 7940977cb01d39778d7205ab241746899542d2433d8e105569ef5f4eadf3a522

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