Здравствуйте, ·, Вы писали:
·>Тесты должны проверять _все_ реальные сценарии использования. Как минимум те, до которых додумался программист (а раз он додумался до ассерта, то значит и до теста мог додуматься).
Я ещё раз повторюсь — все сценарии реально проверить на мелких проектах. На средних (один человек чисто физически не может охватить всю codebase) это нереально в принципе.
Поэтому остаётся или "что не проверили — ну и фиг с ним", или "пишем проверку, которая сработает при первой же попытке нагадить" и ждём теста / кода, который попытается.
Вся разница, что без ассертов попытка поломать код пройдёт незамеченной.
Кого-то это устраивает, кого-то нет.
·>А почему "строка в .csv содержит неэкранированный разделитель" нельзя проверить авто-тестом? Почему ассерт написали, а тест — нет?
·>Поменял культуру — програл test suite — посмотрел что упало.
Потому что нет никакого смысла воспроизводить все мыслимые и немыслимые ситуации для каждого _отдельного_ кусочка кода. Комбинаторный взрыв получается.
Как вы себе представляете тесты, которые должны проверяют корректность работы софта хотя бы в половине из случаев из
вот этого списка?
Комбинацией из ассертов + интеграционными тестами такие вещи ловятся на раз-два. Кто ленится — получает
вотАвтор: DreamMaker
Дата: 28.08.16
этоАвтор: Pavel_Agurov
Дата: 12.01.15
в подарок.