Сегодня поговорим о Test Driven Development, то есть о разработке, движимой тестами. О том, с чего вообще она начинается, как начать писать код, и как продолжить. Для примеров будем использовать Laravel, в этом фреймворке многое заточено под тесты, примеры наглядные и лаконичные. Поехали.
В литературе по тестированию и TDD в частности очень любят приводить в пример тест, что функция sum(a, b)
успешно складывает два числа. Сложно представить что-то более вредное для демонстрации методики. Этот пример:
- скучный — поскольку по сути ничего не проверяет и ничего не демонстрирует;
- практически бесполезный — поскольку изначально не нуждается в тестировании*;
- не представляет собой важную функцию в нашем проекте*.
* если только мы не пишем реализацию математической библиотеки для какого-либо устройства, но там тесты будут совсем другие
Попробуем сделать пример получше. Итак, чтобы удачно стартануть в проекте с TDD, нужно совершить очень важный первый шаг. Выбрать первую фичу, которую мы хотим реализовать, и написать…