Тестирование Ansible
В этом документе описано, как:
- Запускать тесты локально с использованием
ansible-test - Расширять
Требования
Для запуска ansible-test в Python 2.7 и выше особых требований нет. Для Python 2.6 требуется пакет argparse. Требования к каждой команде ansible-test будут рассмотрены позже.
Окружения тестирования
Большинство команд ansible-test поддерживают запуск в одном или нескольких изолированных тестовых окружениях для упрощения тестирования.
Удаленное
Опция --remote запускает тесты в облачном окружении. Для использования этой функции требуется ключ API.
Дополнительные сведения см. в списке поддерживаемых платформ и версий.
Интерактивная оболочка
Используйте команду ansible-test shell для получения интерактивной оболочки в том же окружении, которое используется для запуска тестов. Примеры:
-
ansible-test shell --docker- Открыть оболочку в стандартном контейнере Docker. -
ansible-test shell --tox --python 3.6- Открыть оболочку в окружении Python 3.6tox.
Покрытие кода
Отчеты о покрытии кода помогают легко определить неоттестированный код, для которого необходимо написать больше тестов. Онлайн отчеты доступны, но охватывают только ветку devel (см. Тестирование Ansible). Для нового кода требуются локальные отчеты.
Добавьте опцию --coverage к любой команде тестирования для сбора данных о покрытии кода. Если вы не используете опции --tox или --docker, которые создают изолированное окружение Python, то вам может потребоваться использовать опцию --requirements, чтобы убедиться, что установлена правильная версия модуля coverage.
Отчеты могут быть сгенерированы в нескольких форматах:
-
ansible-test coverage report- Консольный отчет. -
ansible-test coverage html- HTML-отчет. -
ansible-test coverage xml- XML-отчет.
Чтобы очистить данные между прогонами тестов, используйте команду ansible-test coverage erase.
Полный список функций см. в справке онлайн:
ansible-test coverage --help
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/dev_guide/testing_running_locally.html