Автотесты
- CI - начинать проект нужно с того, что настраивается сборка
- краткость, читаемость, декларативность
- тесты - это тоже код и к нему применимы все критерии качества, что и к остальному коду
- Даже, если тесты для кода не пишутся, проектировать код следует так, чтобы его можно было протестировать при необходимости.
- не загружай лишний зависимости
- do not use verifying double
- загружать только необходимов
- rails_helper, spec_helper
- Arrange Act Assert
- скорость
- эффективность запуска
- из редактора
- запуск последних тестов
- запуск только упавших
- предсказуемость
- flakky
- random seed
- faker
- date/time, timecop
- чистое состояние, до и после
- предположения
- expected_result
- не требовать лишнего
- порядок важен или нет?
- как найти тест, который нужно исправить
- что делать, если flakky не удается починить?
- выделение в отдельную группу
- rerun
- allow failure?
- параллельное выполнение
- максимальный уровень изолированности, чистая архитектура
- пирамида тестирования