我发现coverage.py的CLI语法被过度设计了:如果将json或xml等格式的选项指定为选项,而不是单独的命令(与coverage run
相比,这些命令通常具有名称完全不同的类似选项(,那么会更简单。
特别地,当我正常运行coverage
时,我执行coverage run -m pytest
来运行pytest
。但是,如果我希望报告为JSON格式,则-m
选项不可用(coverage json -m pytest
(:
没有这样的选项:-m
当然,coverage json pytest
也不起作用:
没有代码源:'[redated]\venv\Lib\site packages\pytest':[Erno 13]权限被拒绝:'[recated]\venv\Lib\ site packages\pytest'
那么我该怎么做呢?
如果将json或xml等格式上的选项指定为选项,而不是单独的命令,这一切都会更简单
你知道有单独的命令,你必须将它们用作单独的命令:
coverage run -m pytest
coverage json
运行代码并对其进行测量是编写数据文件的一个步骤。然后使用另一个命令从该文件生成报告。