#testing #junit #dao
#тестирование #junit #dao
Вопрос:
Как вы, опытные разработчики, прокомментируете эти строки Майкла Фезерса:
Тест не является модульным тестом, если:
- Он взаимодействует с базой данных
- Он обменивается данными по сети
- Это касается файловой системы
- Он не может выполняться одновременно с любым из ваших других модульных тестов
- Вы должны делать специальные вещи в своей среде (например, редактировать конфигурацию. файлы) для его запуска.
Теперь мне было интересно, должен ли я модульно тестировать свои классы DAO… Получу ли я больше преимуществ или недостатков от модульного тестирования уровня DAO? Поделитесь своими мыслями, пожалуйста.
Ответ №1:
Feathers не говорит, что не следует писать такие тесты. Он говорит, что это не модульные тесты, потому что он определяет модульный тест как «небольшой, они тестируют метод или взаимодействие пары методов. … «бинарный чоп», который позволяет вам определить, заключается ли проблема в вашей логике или в вещах, с которыми вы взаимодействуете.» И он прав — цель модульного тестирования Agile / XP / Scrum заключается в том, чтобы обеспечить быстрое определение красного / зеленого света, если небольшой фрагмент кода функционирует правильно.
Комментарии:
1. Хорошо, я понимаю, тогда, я думаю, нам следует назвать эти интеграционные тесты.