Элегантное интеграционное тестирование зоопарка микросервисов с помощью TestContainers и JUnit 5 на примере глобальной SMS-платформы

День 2 /  / Зал 3  /  RU / Для практикующих инженеров

Комментарий Программного комитета:

Тестирование микросервисов — это новый challenge для тестировщиков. Андрей в своем докладе расскажет, как это делать просто и удобно.

В этом докладе будет рассмотрен подход к системному тестированию платформы, состоящей из нескольких микросервисов. Демонстрация будет проводиться на сильно упрощенном прототипе, разработанным на основе платформы компании Infobip. В предлагаемом подходе сервисы запускаются в Docker-контейнерах с помощью библиотеки TestContainers и фреймворка JUnit 5. Сервисы построены на Spring Boot 2 и используют Ribbon и Eureka из Spring Cloud для общения между собой. В качестве БД используются Postgres и Redis, для мокирования — MockServer.

Для каждого сервиса создается JUnit 5 Extension. Получается, что соответствующий контейнер может быть поднят одной лишь аннотацией в начале теста. Варьируя набор аннотаций, можно писать довольно элегантные тесты как для одного сервиса, подсистемы, так и для всей платформы в целом. Для компании тут возникает особенная ценность, если покрываются взаимодействия нескольких микросервисов, которые и приносят большинство денег. У разработчиков появляется возможность прогнать тесты с новой версией их сервиса и стабильными production-версиями остальных сервисов, а также дополнительная уверенность перед выкатом на production.

Целевая аудитория — люди, которые интересуются микросервисами или работают с ними. Первые узнают о концептах в этой области, имеющихся проблемах и их решениях. У вторых будет возможность почерпнуть новые идеи о том, как облегчить себе жизнь, быстрее и чаще деплоить в production и огребать от этого поменьше проблем.


Скачать презентацию

Наши контакты