Я только что разговаривал с моим ведущим разработчиком, который не согласился с тем, что юнит-тесты - это все, что необходимо или важно. По его мнению, функциональных тестов с достаточно высоким охватом кода должно быть достаточно, поскольку любые внутренние рефакторинги (изменения интерфейса и т. Д.) Не приведут к необходимости переписывать тесты или просматривать их заново.
Я пытался объяснить, но не очень далеко, и думал, что вы, ребята, могли бы сделать лучше. ;-) Итак ...
Какие есть веские причины для модульного тестирования кода, который не предлагают функциональные тесты? Какие опасности существуют, если у вас есть только функциональные тесты?
Редактировать # 1 Спасибо за все отличные ответы. Я хотел бы добавить, что под функциональными тестами я имею в виду не только тесты всего продукта, но также тесты на модулях продукта, но не на низком уровне модульного теста с имитацией в случае необходимости и т. Д. Обратите внимание, что наши функциональные тесты являются автоматическими и работают непрерывно, но они занимают больше времени, чем модульные тесты (что является одним из больших преимуществ модульных тестов).
Мне нравится пример "кирпич против дома". Полагаю, что мой ведущий разработчик говорит, что тестирование стен дома достаточно, вам не нужно тестировать отдельные блоки ...: -)