Здравствуйте, ·, Вы писали:
·>Здравствуйте, gandjustas, Вы писали:
G>>·>И что? Интеграционные тесты как правило тестируют сильно меньше, чем юнит. И ещё меньше, чем возможно в релизе. Почему вдруг интеграционные тесты стали важнее релиза? G>>"Меньше" в чем померяно? На практике интеграционные тестируют "больше" если мерить так — количество сценариев * частоту использования сценария / количество добавленных строк. ·>Это в хорошей практике. А если брать среднее по больнице... с учётом того, что большинство тесты вообще не пишет...
Ну и пусть не пишут, может проще проверять код другими способами. Эффективность это польза/затраты, затраты на тесты довольно высоки, по сравнению с другими способами.
·>Кстати, вопрос. Если все тесты проходят, но ассерт падает — значит ли это что ассерт валидный?
Каким образом проходят тесты при падающем ассерте? Ассерт падает только в продакшене?
G>>Юнит-тесты, несмотря на большое покрытие, обычно бесполезны для отлавливания ошибок на границах модулей. Кроме того большое количество UT затрудняет рефакторинг классов — много тестов ломаются, приходится править. ·>В сравнении с ассертами как оно? Ассерты тоже начинают ломаться внезапно.
С ассертами гораздо проще — они часть кода, который рефактортся.
Ну и правильные ассерты должны инварианты алгоритмов проверять, а инварианты при рефакторинге не меняются.