Компания определяет свое приложение с помощью AWS Cloud Development Kit (CDK) и развертывает его, используя конвейер, построенный с помощью AWS CodePipeline и AWS CodeBuild. Они хотят добавить модульные тесты в конвейер и убедиться, что развертывание продолжится только в том случае, если ни один из модульных тестов не завершится неудачей. Какие два шага обеспечат выполнение этого требования?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Измените команды фазы сборки CodeBuild, чтобы сначала запустить тесты, а затем развернуть приложение CDK. Настройте свойство OnFailure фазы CodeBuild на ABORT., Напишите модульные тесты с использованием библиотеки утверждений AWS CDK и используйте утверждение template.hasResourceProperties для проверки того, что ресурсы имеют ожидаемые свойства..
Почему это правильный ответ
Первый правильный вариант гарантирует, что конвейер остановится, если модульные тесты не пройдут. Запуск тестов перед развертыванием и настройка OnFailure на ABORT предотвращают развертывание некачественного кода. Второй правильный вариант описывает эффективный способ написания модульных тестов для CDK-приложений. Использование библиотеки утверждений CDK позволяет проверять структуру и свойства развертываемых ресурсов, что является ключевым для модульного тестирования инфраструктуры как кода. Неправильные варианты: Добавление --rollback true к cdk deploy не предотвращает развертывание, а лишь откатывает его в случае сбоя развертывания, а не сбоя тестов. Добавление --require-approval any-change к cdk deploy требует ручного подтверждения изменений, но не останавливает конвейер автоматически при сбое тестов. Запуск cdk diff для проверки изменений не является модульным тестированием и не гарантирует корректность логики приложения или инфраструктуры.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется