У меня есть проект Django, который уже имеет некоторые модульные тесты, используя стандартную среду тестирования Django. Это хорошо работает. Теперь я хочу, чтобы настроить интеграционные тесты с Travis CI, но я бил несколько блокаторов:Тест Django: тесты отдельных модулей и интеграции на Travis CI
- Django документы не говорят, как отделить автономные
./manage.py test
модульные тесты от интеграционных тестов, которые требуют внешних служб для установки. Я хочу только запустить модульные тесты на моей машине dev и Travis CI для запуска тестов на единицу и интеграции. Как их отделить? - У меня есть база данных на Travis CI, заполненная некоторыми исходными данными, заполненными во время настройки. Я хочу, чтобы тесты интеграции выполнялись с этим, но модульные тесты продолжали использовать временную тестовую базу данных. Как мне это сделать?
При написании модульных тестов вы действительно не должны тестировать производственную базу данных. Но при выполнении интеграционных тестов (как в Travis CI) ваша производственная база - это ваша тестовая база данных. Когда вы тестируете интеграцию с внешними инструментами, которые могут также изменять/взаимодействовать с базой данных, вы хотите использовать базу данных «production». –