Я новичок в Docker и читаю на Docker. Это отличный способ тестирования систем в автономной и воспроизводимой стандартизованной конфигурации (когда все сделано правильно).
Однако во всех вещах, которые я прочитал, похоже, слишком много внимания уделяется тому, как тестирование должно происходить с контейнерами докеров. Докер используется, чтобы "содержать" инфраструктуру и приложение (код) для легкого тестирования (а также развертывания). Но иногда тестовые кодовые базы являются большими и не слишком простыми. И можно иметь тестовую кодовую базу для тестов API, другую для пользовательского интерфейса и т.д.
Что такое или должно быть (как определено в какой-то момент) стандартная практика тестирования контейнеров-докеров/развертывания ваших приложений/инфраструктуры? В случае, если:
- тестовый код должен быть развернут старым обычным способом, как репозиторий файлов, который вы вытаскиваете откуда-то, а затем запускаете на сервере/подчиненном сервере Jenkins или один локальный хост для тестирования/отладки dev/QA, с тестами, ориентированными на приложения в контейнере докеров?
- присоединяет всю базу тестового кода как автономный контейнер и затем использует этот контейнер для запуска/выполнения тестов с другими контейнерами, у которых есть инфраструктура приложения/системы.
- объединить тесты как часть отдельных контейнеров докеров, которые будут запускаться при необходимости. Но я думаю, что это лучше всего работает только для модульных тестов, которые действительно сочетаются с контейнером, который содержит соответствующий код приложения. Интеграция, пользовательский интерфейс, тесты уровня системы различаются в зависимости от модулей приложения внутри системы.
Единственная причина, по которой я могу думать о том, что, возможно, полезны тесты для докетирования, - это один контейнер со всеми необходимыми вами тестами и соответствующей тестовой инфраструктурой (все зависимости тестовой платформы/языка), чтобы можно было развернуть и запустить тесты в любом месте вместе с соответствующими контейнерами кода приложения. Сохраняет одно из того, что нужно настроить тестовую инфраструктуру по мере необходимости. Но, похоже, не было сообщений о таких вещах для докционированных тестов.