Итак, у меня есть проект, протестированный с помощью pytest и использующий модуль pytest-cov для отчета о покрытии.
Часть кода включает в себя загрузку и настройку, и канонический способ запуска - запуск через сценарий оболочки . Текущие модульные тесты используют модуль subprocess
для тестирования запуска этого сценария оболочки на имитируемых данных. Я хотел бы получить отчет о коде против покрытия, и я специально пытаюсь избежать
1) Сильно модифицируя оболочку для поддержки тестового сценария. Кроме того, существует риск выполнения 2).
2) Запуск кода ускорения вне оболочки (например, путем разветвления процесса и запуска кода напрямую), поскольку я хочу, чтобы эти тесты были максимально реалистичными c по возможности.
Есть ли какой-нибудь (канойский, Pythoni c) способ распространения коллекции покрытий на все подпроцессы, даже при запуске с использованием subprocess.Popen
? Я могу легко решить проблему с помощью хака, так что это не то, что я ищу.