22 ноября едем на ArchDays в Москву.
Везём доклад о контрактных тестах.
Евгений Горбачёв, докладчик:
Однажды мне досталась задача — написать контрактные тесты, чего я раньше никогда не делал. Задача заняла два месяца.
За это время я прошёл путь от настройки всей инфраструктуры до рабочих тестов. Столкнулся с проблемами, о которых молчит Гугл. Кажется, чему-то научился. Придумал, как буду писать контрактные тесты в следующий раз.
Среди пойманных инсайтов есть три, которые я считаю наиболее полезными для любого, кто отправится писать контрактные тесты.
- Репозиторий: где и как хранить контрактные тесты, кто их должен разрабатывать и кто ревьюить?
- Развёртывание образа: как сэкономить время на запуске и прогоне тестов. Кейс: смотрим на основные и вспомогательные сервисы, придумываем, что должно быть настоящим, а что — “поддельным”.
- Поиск проблем в REST API и отлавливание изменений: кейс — ловишь REST-запрос, должен ответить mock-ом, но тот не видит входящий запрос.
Главный мета-инсайт: контрактные тесты — это про культуру разработки и взаимопомощь, чем про конкретные технологии, хотя они тоже есть (упомяну как возможную технологическую основу инфраструктуры).
Когда-то давно мы спорили, критичны ли юнит-тесты, а ещё раньше — тестирование вообще. Надеюсь, со временем контрактные тесты станут такой же неотъемлемой частью процесса разработки. Попробую убедить слушателей в этом.
Доклад рассчитан на людей с небольшим опытом в написании контрактных тестов (или совсем без него).
Если вам интересна тема доклада, приходите на внутренний прогон в компании. Сигнализируйте в группе ФБ или ВК – в ответ напишем вам, когда и где встречаемся послушать доклад заранее, до конференции.