Запуск 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", я смогу заставить его работать, но я бы предпочел, чтобы он оставался вне тестового примера в качестве тестового приспособления.

0 ответов

Другие вопросы по тегам