Вступ до тестування в 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