Как получить отчет о покрытии при тестировании плагина поиска AnsiblePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить отчет о покрытии при тестировании плагина поиска Ansible

Сообщение Anonymous »

Я разрабатываю плагин поиска Ansible и тестирую для него код. И плагин поиска, и тестовый код для плагина работают нормально.
Для этого теста я использую pytest с pytest-ansible, а тестовая функция использует приспособление ansible_module, предоставленное pytest-ansible. чтобы вызвать встроенный модуль set_fact для вызова поиска. Тестовая функция выглядит следующим образом (упрощенно):

Код: Выделить всё

import pytest
from pytest_ansible.fixtures import ansible_module

@pytest.mark.ansible(host_pattern='localhost', connection='local')
def test_mylookup(ansible_module):
expr = "lookup('myorg.mycoll.mylookup', 'someterm')"
contacted = ansible_module.set_fact(result=f"{{{{ {expr} }}}}")
contacted_host = contacted['localhost']
result = contacted_host['ansible_facts']['result']
# assertions on result
Обновление: я обнаружил, что импорт ansible_module не обязателен для того, чтобы pytest нашел приспособление.
Проблема в том, что этот тест не добавляет к тестовое покрытие (0%). Другие модули Python в проекте добавляют к тестовому покрытию, но тесты для плагинов Ansible этого не делают.
Я предполагаю, что это связано с тем, что объект ansible_module в какой-то момент использует механизмы Ansible для выполнения модуль, и это, вероятно, позволит моему коду поиска работать в другом потоке или процессе. Но это предположение.
Я использую пакеты pytest-cov и Coverage, чтобы pytest подсчитывал покрытие, и запускаю тест, вызывая pytest с опциями --cov*.
Соответствующие версии пакетов Python (в Python 3.9):

Код: Выделить всё

ansible                   8.7.0
ansible-core              2.15.13
pytest                    7.4.4
pytest-ansible            4.1.1
pytest-cov                6.0.0
coverage                  7.6.4
Мне хотелось бы знать, как правильно учесть тестовое покрытие при тестировании подключаемого модуля поиска Ansible с помощью pytest.

Подробнее здесь: https://stackoverflow.com/questions/791 ... kup-plugin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить отчет о покрытии при тестировании плагина поиска Ansible
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как получить отчет о покрытии при тестировании плагина Pytest?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как настроить отчет о покрытии кода Jacoco в проекте платформы Java Play?
    Anonymous » » в форуме JAVA
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Могу ли я получить отчет о покрытии модульными тестами специально для пользовательской истории?
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Единый отчет о покрытии кода Jacoco для многомодульного проекта
    Anonymous » » в форуме Android
    0 Ответы
    54 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»