Запуск pytest.benchmark вызывает сбой pytest
У меня есть pytest.fixture, который я использую для создания экземпляра класса, который передается в мою тестовую функцию. Моя тестовая функция выглядит так:
def test_update_measurement(benchmark, measurement):
new_timestamp = 1024
measurements = [1.01, 2.02, 3.03, 4.04, 5.05]
benchmark(measurement.update_measurement, timestamp=new_timestamp, measurement_data=measurements)
assert measurements == measurement.measurements.values()
Функция проходит при первом запуске, но функция update_measurement проверяет, чтобы убедиться, что указанная временная метка не совпадает с той, которая хранится в данный момент. Есть ли способ продолжить использование функции бенчмарка, но использовать ли для каждой итерации новый "экземпляр" объекта "измерения"? Я попытался передать глубинную копию объекта, но это не работает.
Я предполагаю, что если я перенесу создание класса измерений в функцию "test_update_measurement", я смогу заставить его работать, но я бы предпочел, чтобы он оставался вне тестового примера в качестве тестового приспособления.