[pytest-dev] Fixtures and test cases parametrization -- the clever way

Goncalo Morgado goncalo.magno at gmail.com
Sat Feb 6 22:53:39 EST 2016


Thank you for this great lib!

I have an app that takes a config file with key/value pairs, that I would
like to test thoroughly, i.e all possible combinations of parameters in the
config file. I thought about taking advantage of the fixture
parametrization functionality pytest provides, but not sure how... and end
up with what I believe is a silly idea (please see example code below). I
say silly because I will end up with a huge amount of *.mark.parametrize()*
entries and the test case function with a number of arguments... Any idea
on how to do this an elegant way?

*import* pytest
@pytest.mark.parametrize("key1", [0, 1, etc, etc])
@pytest.mark.parametrize("key2", [2, 3, etc, etc, etc])
@pytest.mark.parametrize("key3", [4, 5, etc, etc, etc, etc])
... # an infinitiy amount of @pytest.mark.parametrize("keyN", [bla, bla,
*def* test_app_param_combination(key1, key2, key3, ....)
    # implementation of the test
    # run app with combination of key/value pair and check exit code
    *assert* app_exit_code == 0

Many thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pytest-dev/attachments/20160207/69e70b52/attachment.html>

More information about the pytest-dev mailing list