Пишем тесты
Для Testo без разницы, где находится тест, если его можно завернуть в Closure.
Где писать тесты
- В методах — в обычных классах без наследования от
TestCase. - В функциях — в обычных функциях вне классов.
- В атрибутах — прямо на тестируемом методе. См. Встроенные тесты.
Обнаружение тестов
В зависимости от настроек, Testo может находить тесты несколькими способами:
- Явно — атрибут #[Test] помечает метод, функцию или класс.
- По конвенциям — соглашения об именовании, например методы
testSomething()или классы*Test. - Кастомные стратегии — можно реализовать собственный способ поиска тестов, например по function-call (как в PEST, только без запуска) или по родителю класса, как в PHPUnit.
Все подходы можно комбинировать в одном проекте или даже в одном Test Suite.
Меньше кода
- Параметризация — вместо копирования теста для каждого набора данных, напишите один тест и передайте ему разные значения через провайдеры данных.
- Атрибуты-интерцепторы — выносите повторяющийся boilerplate в переиспользуемые атрибуты.