Джанго метод тестирования, крепеж или макет?
В моем проекте я использую pytest для написания тестовых случаев для моей программы. Но позже я обнаружил, что в моей программе много операций с БД, ORM.
Я знаю, что модульное тестирование должно выполняться быстро, но в чем отличие между модульным тестированием и автоматическим интеграционным тестированием, кроме быстрого.
Должен ли я просто использовать фикстуру базы данных вместо насмешек над ними?
1 ответ
Основное различие между модульными тестами и интеграционными тестами состоит в том, что интеграционные тесты имеют дело с взаимодействиями между двумя или более "единицами". Как и в случае, модульный тест не особенно заботится о том, что происходит с кодом, окружающим его, до тех пор, пока код в модульном тесте работает так, как он предназначен.
Что касается вашего второго вопроса, если вы чувствуете, что запуск базы данных и приборов в вашем модульном тесте занимает слишком много времени, имитация - отличное решение.