Introduction aux tests en Python
Alexander Levin
Data Scientist
autouse=True, la fonction de fixture s'exécute même sans requêteQuand il faut appliquer des préparatifs ou des modifications d'environnement pour tous les tests.
Par exemple, pour garantir que tous les tests :
Ces cas se règlent avec l'argument « autouse ».
Exemple de fixture « autouse » :
import pytest
import pandas as pd
# Fixture autouse
@pytest.fixture(autouse=True)
def set_pd_options():
pd.set_option('display.max_columns', 5000)
# Fonction de test
def test_pd_options():
assert pd.get_option('display.max_columns') == 5000
Exemple incorrect de fixture « autouse » :
import pytest
import pandas as pd
# Mauvaise fixture autouse
@pytest.fixture(autouse=True)
def wrong_fixture():
return [1,2,3,4,5]
# Fonction de test
def test_type():
assert type(wrong_fixture) == list
Exemple corrigé de fixture :
import pytest
import pandas as pd
# Mauvaise fixture autouse
@pytest.fixture
def correct_fixture():
return [1,2,3,4,5]
# Fonction de test
def test_type(correct_fixture):
assert type(correct_fixture) == list
Sortie de l'exemple :

autouse : argument booléen optionnel du décorateur de fixture@pytest.fixture(autouse=True)autouse=True, la fixture s'exécute même sans requêteIntroduction aux tests en Python