Упрощаем интеграционные тесты с помощью Testcontainers
У вас есть уже работающий проект, и вы хотите добавить интеграционные тесты, но при этом не хотите управлять внешними сервисами вручную? Покажем, как сделать это для классического микросервиса с настоящими PostgreSQL, Redis и локально установленным кластером Kafka. Пример интеграции Testcontainers и управления всеми сервисами программно без редактирования YAML-файлов.
Testcontainers — популярный фреймворк для тестирования приложений на Java, Go, Node.js, Python и Rust. Он позволяет создавать легковесные экземпляры баз данных, веб-браузеров или чего-либо еще, что можно запустить в Docker-контейнере. Олег проинтегрирует Tescontainers в приложение, написанное как классический микросервис, который использует настоящие PostgreSQL, Redis и локально установленный кластер Kafka. Далее он попробует протестировать эту конструкцию и поуправлять всеми сервисами программно без редактирования YAML-файлов.
Доклад будет полезен всем, кто хочет добавить в уже работающий проект интеграционные тесты, но при этом не хочет управлять внешними сервисами в ручном режиме.
А после доклада будем ждать вас в Zoom-комнате, где вы сможете задать Олегу все интересующие вопросы и поучаствовать в дискуссии с коллегами.
Спикер
Олег Шелаев, Developer Advocate, AtomicJar
Участники
Олег Шелаев
Developer Advocate в AtomicJar — команде, работающей над улучшением интеграционных тестов с Testcontainers. Лидер VirtualJUG. В 2017 году стал Java Champion. Любит пиццу и играть в шахматы.
Андрей Дмитриев
JUG Ru Group
Окончил матмех СПбГУ. Программист со школы, прагматик в жизни и совладелец бизнеса по организации конференций для айтишников. Несколько лет разрабатывал библиотеки JDK в Sun Microsystems и Oracle. Руководил группой мобильной разработки в компании QuickOffice. Был руководителем распределенной группы нагрузочного тестирования в NetCracker. В настоящее время директор по производству в JUG Ru Group. Склонен доверять фактам и цифрам.