Цикл статей по TDD паттернам:
Название: Isolated Test (Изолированный тест)
Определение: Тесты не должны зависеть друг от друга.
Краткое описание: Не стоит писать тесты, порядок которых, зависит от успеха других тестов. Если у нас один сломанный тест — то у нас только одна проблема. Если уже два сломанных теста — у нас две проблемы.
Название: Test List
Определение: Составив список тестов, которые вы хотите реализовать - поможет вам ничего не пропустить.
Краткое описание: Перед тем как начать писать тесты, составьте список всех тестов, которые вы хотели бы реализовать. Однако это не значит написать их в прямом смысле, а всего лишь внести их в список на бумажке. Если вы напишите пачку тестов за раз - вы нарушите принцип Red-Green-Refactor.
Название: Test First
Определение: Пишите тесты до того, как вы напишете код.
Краткое описание: Если писать тесты до кода, это поможет думать больше о дизайне и стать более сфокусированным на задаче. Так же, данный паттерн способствует повышению процента покрытия кода тестами (code coverage).
Название: Assert First
Определение: Начните писать тесты с assert/expect/should проверок (снизу-вверх).
Краткое описание: Такой подход будет сам подсказывать вам, что нужно сделать для того, чтобы тест прошел успешно и поможет вам быть сфокусированным на результате.
Название: Test Data
Определение: Данные для тестов, которые не вводят в заблуждение.
Краткое описание: Используйте данные, которые делают ваши тесты проще для чтения и сопровождения. Вы пишите тесты для аудитории. Не разбрасывайтесь значениями данных для того, только чтобы ими разбросаться. Если есть разница между значениями данных, то это должно быть осмысленно. Если нет концептуальной разницы между 1 и 2, то используйте 1.
Название: Evident Data
Определение: Предпочтите в своих тестах явные данные, нежели вычисляемые.
Краткое описание: При написании тестов мы могли бы перейти в режим расчета. Мы могли бы вычислить или рассчитать длинные значения. Не делайте этого, это может запутать читателя в отношении бизнес-логики.