Я работаю над довольно универсальной структурой данных Python, пока пишу тесты для каждой функциональности. Большинство тестов восстанавливают одну и ту же структуру, то есть с одинаковыми значениями, так что конкретный метод может быть протестирован. Например:
class T():
def __init__(self, data):
self.data = data
def min(self):
return 'min'
def max(self):
return 'max'
class TestT():
def test_min():
t = T(values)
assert t.min() == 'min'
def test_max():
t = T(values)
assert t.max() == 'max'
Как правильно использовать этот экземпляр t
? Я только начинаю, и тесты начинают выполняться слишком долго. Я хочу ускорить их.
Примечание: я знаю, что мог бы parametrize
и getattr
в этом конкретном примере, но он все равно будет создавать экземпляр t
дважды, один раз для каждого теста.
Попытка
Я посмотрел на pytest.fixtures , однако, похоже, что возвращение этого приспособления t
просто сделало бы то же самое, создав его экземпляр.
Pytest кеш , кажется, для этого, но я не понимаю из документации, как его использовать (что такое request
в примере?).
Наконец, просто сохранение t
в переменной (класса), по-видимому, не ускоряет тесты.