Тестирование с помощью Pytest Ansible

Тестирование с помощью Pytest Ansible#

Система тестирования PyTest используется для тестирования модулей, написанных на языке программирования Python. Пакет pytest-ansible расширяет возможности PyTest и предоставляет следующие возможности:

  • модульное тестирование коллекций Ansible;

  • использование утилиты Molecule;

  • интеграция Ansible с тестами PyTest.

Пример использования#

В этом примере рассматривается создание теста, проверяющего работоспособность коллекции cisco.ios.

Для проверки работы PyTest Ansible выполните следующие действия:

  1. Клонируйте исходный код коллекций:

    • cisco.ios:

      git clone https://github.com/ansible-collections/cisco.ios.git collections/ansible_collections/cisco/ios
      
    • ansible.netcommon:

      git clone https://github.com/ansible-collections/ansible.netcommon.git collections/ansible_collections/ansible/netcommon
      

      Примечание

      Коллекция ansible.netcommon является зависимостью коллекции cisco.ios.

  2. Перейдите в каталог с исходным кодом коллекции cisco.ios:

    cd collections/ansible_collections/cisco/ios
    
  3. Для запуска тестов выполните команду:

    pytest tests
    

    Если тест пройден успешно, рядом с его названием в терминале выводится сообщение PASSED, например:

    [gw0] [ 90%] PASSED tests/unit/modules/network/ios/test_ios_vrf_global.py::TestIosVrfGlobalModule::test_ios_vrf_global_replaced