Skip to main content

It helps to use fixtures in pytest.mark.parametrize

Project description

Use your fixtures in @pytest.mark.parametrize.

Installation

pip install pytest-lazy-fixture

Usage

import pytest

@pytest.fixture(params=[1, 2])
def one(request):
    return request.param

@pytest.mark.parametrize('arg1,arg2', [
    ('val1', pytest.lazy_fixture('one')),
])
def test_func(arg1, arg2):
    assert arg2 in [1, 2]

Also you can use it as a parameter in @pytest.fixture:

import pytest

@pytest.fixture(params=[
    pytest.lazy_fixture('one'),
    pytest.lazy_fixture('two')
])
def some(request):
    return request.param

@pytest.fixture
def one():
    return 1

@pytest.fixture
def two():
    return 2

def test_func(some):
    assert some in [1, 2]

Please see tests for more examples.

Contributing

Contributions are very welcome. Tests can be run with tox.

License

Distributed under the terms of the MIT license, pytest-lazy-fixture is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

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-lazy-fixture-0.4.0.tar.gz (4.6 kB view details)

Uploaded Source

File details

Details for the file pytest-lazy-fixture-0.4.0.tar.gz.

File metadata

File hashes

Hashes for pytest-lazy-fixture-0.4.0.tar.gz
Algorithm Hash digest
SHA256 058ada0d59b0488bd89e1a6fb79a4cd693e10527c1bc1011ed5c180224e74b63
MD5 05ef43e69ec21068764b55eaf1d772dc
BLAKE2b-256 e734b389ff46467e5a24d4e6b3b5eb4fceffec442b9b5184c4c9d5d2357726e5

See more details on using hashes here.

Supported by

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