Я новичок в Docker и читаю на Докере. Это отличный способ проверить системы в автономной и воспроизводимой стандартизованной конфигурации (когда все сделано правильно).Запуск тестов, как обычно, против докерных контейнеров или докеризационных испытаний?
Однако, во всех вещах, которые я читал, похоже, слишком много внимания уделяется тому, как тестирование должно происходить с контейнерами докеров. Докер используется, чтобы «содержать» инфраструктуру и приложение (код) для легкого тестирования (а также развертывания). Но иногда тестовые кодовые базы являются большими и не слишком простыми. И можно получить тестовую кодовую базу для тестов API, другую для пользовательского интерфейса и т. Д.
Какова или должна быть (как определено в какой-то момент) стандартная практика тестирования контейнеров-докеров/развертывания ваших приложений/инфраструктуры? В случае, если:
- тестовый код будет развернут старым традиционным способом, так как хранилище файлов вы тянете где-то и просто запустите на Дженкинс сервер/ведомый или свой локальный хост для DEV/QA тестирования/отладки, с тестами таргетинга приложений в контейнере для докеров?
- присоединяет всю базу тестового кода как самостоятельный контейнер, а затем с помощью этого контейнера запускать/выполнять тесты против других контейнеров, имеющих код приложения/системную инфраструктуру?
- объединяет испытания как часть отдельных контейнеров-докеров, которые должны запускаться при необходимости. Но я думаю, что это лучше всего работает только для модульных тестов, которые действительно сочетаются с контейнером, который содержит соответствующий код приложения. Интеграция, пользовательский интерфейс, тесты уровня системы различаются в зависимости от модулей приложения в системе.
Единственная причина, по которой я могу думать о том, что целесообразно докерезационные тесты - это один контейнер со всеми необходимыми вами тестами и соответствующей тестовой инфраструктурой (все тестовые платформы/языковые зависимости), чтобы можно было развертывать и запускать тесты в любом месте вместе с соответствующими контейнерами кода приложения. Сохраняет одно из того, что нужно настроить тестовую инфраструктуру по мере необходимости. Но, похоже, не было сообщений о таких вещах для докционированных тестов.
на соответствующей ноте, инструменты для тестирования, такие как Selenium, были доклерированы: https://github.com/SeleniumHQ/docker-selenium, https://github.com/elgalu/docker-selenium. Тем не менее, сами тесты я не слышал о том, чтобы быть докеров. – David
Некоторые другие примеры докционированного тестирования, которые я нашел: [Доксеризация BDD: Презентация на конференции BDDX15 в Лондоне] (http://shashikantjagtap.net/dockerizing-bdd-presentation-at-bddx15-london), [Докетирование огурца-BDD и Ruby Friends] (http://shashikantjagtap.net/dockerizing-cucumber-bdd-and-ruby-friends), https://groups.google.com/forum/#!topic/robotframework-users/r3FzTXle_w4, https: //github.com/klevermonicker/robot_framework – David