Pythonによるテスト入門
Alexander Levin
Data Scientist
autouse=True の場合、要求に関係なく実行すべてのテストに同じ環境準備や変更を適用したい場合。
例えば、すべてのテストで以下を保証したいとき:
これらはすべて 「autouse」引数で対応します。
「autouse」フィクスチャの例:
import pytest
import pandas as pd
# Autoused fixture
@pytest.fixture(autouse=True)
def set_pd_options():
pd.set_option('display.max_columns', 5000)
# Test function
def test_pd_options():
assert pd.get_option('display.max_columns') == 5000
「autouse」フィクスチャの誤った例:
import pytest
import pandas as pd
# Wrong autoused fixture
@pytest.fixture(autouse=True)
def wrong_fixture():
return [1,2,3,4,5]
# Test function
def test_type():
assert type(wrong_fixture) == list
修正後のフィクスチャ例:
import pytest
import pandas as pd
# Wrong autoused fixture
@pytest.fixture
def correct_fixture():
return [1,2,3,4,5]
# Test function
def test_type(correct_fixture):
assert type(correct_fixture) == list
例の出力:

autouse の定義: フィクスチャデコレータの任意のブール引数@pytest.fixture(autouse=True)autouse=True だと要求の有無にかかわらず実行されるPythonによるテスト入門