Здравствуйте, <Аноним>, Вы писали:
Сложный вопрос. Кому надо, зачем надо, почему надо?
Тысячи проектов успешно сдаются без тестов. Некоторые их них все же содержат тесты, но от них никакой пользы.
Многие требуют чтобы у них в проекте были тесты, а тесты на самом деле
ничего практически ничего не тестируют. Если же на написание тестов тратится куча времени, то, ей богу, лучше бы их вообще не было.
Как раз год назад я рассказывал о своем
подходе к написанию юнит тестовАвтор: Aikin
Дата: 03.10.11
:
DD>...если они на практике ничего не ловят. Каждый метод будет прекрасно работать в изоляции, а упадет обязательно на нестыковке компонент, из-за старого формата данных в базе и т.п. Ради чего надо писать 10 минут метод и потом час-два к нему тесты, если пользы ровно ноль?
Я пишу юнит тесты только для сложной логики. Еще часто бывает, что тест написать намного проще чем логику. В таких случаях модульные тесты писать категорически рекомендуется.
Писать же юнит тесты для метода на 10 мин смысла не имеет никакого. Лучше написать интеграционный тест сразу на весь/все сценарии которые ты разрабатываешь в данным момент.
Юнит тесты так же сильно помогают при последующем рефакторинге или модификации класса в связи с изменившимися требованиями. Уузнать когда тесты понадобятся когда нет -- невозможно, но с опытом можно уже пытаться угадывать. С др стороны, сложная логика скорее всего (у меня) будет покрыта тестами, а простая или сложная но без тестов рефакториться с мыслями "сто раз так делал"
А>например, процедура возвращет селект простой, надо тест?
Ответ зависит от кучи факторов.
Но в 90%
я для этого селекта тест бы не писал. Я бы написал тест на сценарий, который использует этот селект.
СУВ,
Aikin... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, Аноним, Вы писали:
А>>например, процедура возвращет селект простой, надо тест?
N>Конечно надо.
Конечно же не надо
СУВ,
Aikin
P.S. Аноним, ты на
nikov не смотри. Он пишет специфический софт (компиляторы) цена ошибки в которых существенно выше чем в типичных проектах (автоматизации бизнеса).
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>