Я пишу интеграционные тесты, используя простой unittest в Python (import unittest) и создаю заглушки для некоторых внешних сервисов. Теперь я хочу запустить те же тесты с реальной реализацией; но и сохранить заглушки. Таким образом, я могу запускать тесты с и без окурков и сравнивать поведение.Настройка среды для тестирования в Python
Я выполняю свои тесты как с SetupTools, так и с помощью PyCharm. Есть ли какой-то общий способ для меня установить/вставить/загрузочный параметр, который говорит моему коду, чтобы использовать заглушку или реальную реализацию? Командная строка предпочтительна. Любые указатели оценили. :)
unittests не должны использовать реальную реализацию. если бы они это сделали, они были бы интеграционными тестами. сделайте separete тесты, которые используют реальную реализацию. –
Я просто использую библиотеку unittest, но вы правы, что это интеграционные тесты. Независимо: я хотел бы иметь возможность реализовать как реальную реализацию, так и заглушку. Это сравнение дало мне большую ценность раньше, когда что-то внешнее изменение. –
Скажите, что вы тестируете устройство под названием 'foo'. Это устройство использует реальную реализацию 'bar'. Бар имеет опечатку и выдает ошибку. Ваш юнит-тест для 'foo' не будет выполнен, даже если блок' foo' не имеет ошибки. Вот почему нецелесообразно использовать реальные реализации в модульных тестах, и я думаю, вы должны пересмотреть подход. –