2021-09-21 09:00:13
Про TDD
Зачем писать тест до кода?
1 TDD (test-driven development) запускает цикл ОС по оценке качество проектирования
Если тест тяжело написать, то это говорит нам о низком качестве проекта
Какие антипаттерны тестирования встречаются
Какие ещё есть проблемы с тестами?
Врун
Если ставить целевой показатель по test-coverage, то… люди его выполнят ценой генерации бессмысленной работы
Надо удалять такие тесты
Излишняя подготовка
Если не думать над качеством, не работать над тем, чтобы сделать программное обеспечение тестируемых (testability), тесты и код будут сильно связаны (coupled), тесты будут ломкими (fragile) и их будет тяжело понять, что конкретно тестирует тот или иной тест
Повысить уровень абстракции, которую тестируем
Гигант
В одном тесте тестируется масса вещей (компонентный тест), что приводит к непониманию, что именно сломалось
Использовать принцип презентаций: 1 тест — 1 проверяемая сущность
Насмешка
В тесте используется так много заглушкек, что реальный код не тестируется
Думать над желаемым поведением системы, разделением ответственности и не гнаться за test coverage
Инспектор
Нарушать инкапсуляцию кода для того, чтобы протестировать код
Проектировать код для testability
185 viewsSergey Artyuhov, 06:00