FirsofMaxim
@FirsofMaxim
android, java, kotlin developer

Kubernetes как запускать тестирование?

Добрый день!
Представим что есть простое NodeJS приложение с MongoDB базой, все работает у нас в контейнерах и например в локальном кластере Minikube (классический туториал при поиске "nodejs mongo kubernetes").
Также мы помним, что у нас есть пирамида тестов:
UI
Integration
Unit
Вопросы:
1. [Unit] нужно ли запускать Unit тесты в кластере? (хотя по-другому неясно как)
Как тогда запускать не все, а скажем один нужный? (писать скрипт, который будет пересобирать образ с нужным тестом, обновлять deployment и перезапускать pod в кластере?)
2. [Unit] как смотреть что тесты выполнились? (подключаться к логам контейнера и по ним уже понимать? хотя наверно тоже можно написать скрипт для всего этого)
3. [Integration] Т.к. в этих тестах проверяется совместная работа NodeJS + Mongo контейнеров, как тестам дожидаться старта Mongo контейнера?
До UI тестов я еще не дорос.
  • Вопрос задан
  • 598 просмотров
Пригласить эксперта
Ответы на вопрос 2
@1001001
Э а чем ваши [Unit] отличаются от [Integration], если вы собрались для них запускать ПО?
Если для запуска unit тестов вам нужно запустить само ПО, 99,9% вы идете не в ту сторону)
В целом unit тесты должны заблокировать попадание кода в "основную" ветку системы контроля версий, если данный код не прошел их.
Ответ написан
@vitaly_il1
DevOps Consulting
Все просто:
1) Для Unit tests не нужн сервер.
2) Для Integration tests - вы делаете деплой как обычно, и запускаете тесты против релевантных URLs.
как тестам дожидаться старта Mongo контейнера?

Это важно не только для тестов. Используйте readiness probes.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы