programmation:python:tests
Petit truc pour faire des tests paramétrisés avec Pytest qui utilisent des fixtures en tant que paramètre : il faut ajouter une fixture request en paramètre de la méthode de test et à l'intérieur de ladite la méthode faire request.getfixturevalue(param)
Par exemple, ce code ne marche pas
@pytest.fixture def foo(): return "foo" @pytest.fixture def bar(): return "bar" @pytest.mark.parametrize("baz", [foo, bar]) def test_parameterized(baz, request) -> None: assert isinstance(baz, str)
Alors que ce code fonctionne
@pytest.fixture def foo(): return "foo" @pytest.fixture def bar(): return "bar" @pytest.mark.parametrize("baz", ["foo", "bar"]) def test_parameterized(baz, request) -> None: file = request.getfixturevalue(filename) assert isinstance(baz, str)
programmation/python/tests.txt · Dernière modification : de stanislas
