Чем больше охват, тем лучше качество кода, но это стоит дороже.Здесь есть скользящая шкала, если вы кодируете искусственное сердце, вам нужно больше тестов.Чем меньше вы платите авансом, тем выше вероятность того, что вы заплатите позже, возможно, болезненно.
В примере полное_имя, почему вы поместили пробел между и упорядочены по first_name, а затем по last_name - это имеет значение?Если позже вас попросят отсортировать по фамилии, можно ли поменять местами ордер и добавить запятую?Что, если фамилия состоит из двух слов - это дополнительное пространство повлияет на вещи?Может быть, у вас также есть XML-фид, который кто-то еще анализирует?Если вы не уверены, что тестировать, для простой недокументированной функции, возможно, подумайте о функциональности, подразумеваемой именем метода.
Я думаю, что культура вашей компании также важна.Если вы делаете больше, чем другие, то вы действительно теряете время.Не помогает иметь хорошо протестированный нижний колонтитул, если основной контент содержит ошибки.Повреждение основной сборки или сборок других разработчиков будет еще хуже.Найти баланс сложно - если кто-то не решит, потратьте некоторое время на чтение тестового кода, написанного другими членами команды.
Некоторые люди используют подход тестирования крайних случаев и предполагают, что основные функции будут работатьчерез использование.Что касается getter / setters, я бы хотел где-нибудь класс модели, в котором есть несколько тестов для этих методов, возможно, для проверки диапазонов типов столбцов базы данных.По крайней мере, это говорит о том, что с сетью все в порядке, соединение с базой данных может быть установлено, у меня есть доступ для записи в существующую таблицу и т. Д. Страницы приходят и уходят, поэтому не следует рассматривать загрузку страницы как замену действительноймодульный тест.(Примечание по эффективности тестирования - если автоматическое тестирование основано на отметке времени обновления файла (автотест), этот тест не запустится, и вы хотите знать как можно скорее)
Я бы предпочел иметь более качественные тесты, а не полный охват.Но я также хотел бы, чтобы автоматизированный инструмент указывал на то, что не было проверено.Если это не проверено, я предполагаю, что это сломано.При обнаружении ошибки добавляйте тесты, даже если это простой код.
Если вы автоматизируете тестирование, не имеет значения, сколько времени потребуется для его запуска.Вы получаете выгоду каждый раз, когда тестовый код запускается - в этот момент вы знаете, что работает минимум функциональности вашего кода, и вы получаете представление о том, насколько надежной была проверенная функциональность с течением времени.
100% охватне должно быть вашей целью - хорошее тестирование должно быть.Было бы заблуждением думать, что один тест регулярного выражения выполняет что-либо.Я предпочел бы не проводить тесты, чем один, потому что мой автоматический отчет о покрытии напоминает мне, что RE ненадежен.