Декоратор макета патча asynctest Python распространяется на последующие тесты

Я пытаюсь протестировать асинхронную функцию. Для этого я используюpytest-asyncio а также asynctest. Мне нужно проверить, сколько раз вызывается функция, которая используется внутри функции, которую я тестирую. Для этого я издеваюсь над внутренней функцией, используяaynsctest.mock.patch(). Мой тестовый файл выглядит следующим образом:

@pytest.mark.asyncio
@aynsctest.mock.patch('my_module.function_name')
async def test_function_called_twice(function_mock):
    await function_to_be_tested()
    assert function_mock.call_count == 2

@pytest.mark.asyncio
@aynsctest.mock.patch('my_module.function_name')
async def test_function_called_once(function_mock):
    await function_to_be_tested()
    assert function_mock.call_count == 1

Если я запускаю тестовые примеры отдельно, они проходят. Однако, когда я запускаю весь модуль, второй запускаемый тестовый пример терпит неудачу - независимо от того, в каком порядке они выполняются. Я подозреваю, что это связано с тем, что макет из первого тестового примера по-прежнему влияет на запуск второго тестового примера.

Что я здесь неправильно делаю?

0 ответов

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