Я использую pytest для этого теста, который я делаю.
Я хочу сделать один и тот же тест несколько раз, при этом изменяя начальное значение.Это рандомизирует тестовые переменные, которые я считал хорошей идеей.Таким образом, если тест не пройден, я могу легко воссоздать тот же тест в другой среде, чтобы увидеть, что не удалось, используя тот же начальный ввод:
def test_foo():
for i in range(0, 10):
foo = random_foo('something', seed = i)
assert subject_value(foo) == expected_value(foo)
Однако, если тест не пройден, Pytest не сможетскажите мне значение i
, когда произошла ошибка AssertionError, что делает отладку практически невозможной.Есть ли способ успешно сделать это?Или это плохое структурирование тестового кода, которое в этом случае может быть лучше?