await service.add()
Можно ли как-то проверить, какие Mock объекты вызывались в контекстном менеджере?
assert_called?
Да, но я не знаю что было внутри менеджера
uow и service только. Или что ты имеешь ввиду?
Да, но я же ни как не могу проверить, что у меня service вызывался в контекстном менеджере
from unittest.mock import AsyncMock uow = AsyncMock() service = AsyncMock() async with uow.atomic(): await service.add() from unittest.mock import AsyncMock uow = AsyncMock() service = AsyncMock() async with uow.atomic(): ... await service.add() uow.atomic.assert_called() # True service.add.assert_called() # True для обои случаев
ты же тесты пишешь для логики в тест кейсе как напишешь, так и будет
Я хочу проверить, что конкретная функция вызвалась в рамках конкретного контекстного менеджера, а не за его рамками
Тебе нужен тест кейс, который при определенных входящих данных должен не пройти, если код запущен вне контекстного менеджера
Да, для этого нужно проверять, что mock был вызван в рамках транзакции
Обсуждают сегодня