我的一个Python项目的代码库包含许多测试。这些测试足够广泛和宽敞,我称之为“稳健”。我想知道它们到底有多强大,所以我设置了 coverage.py 工具,以及一个 codecov.io 帐户。该项目有两种类型的测试:一套单元测试,从一开始就用pytest运行 - 即没有基于传统的测试,并且夹具和钩子被大量利用。unittestpytest每个模块的内联测试功能套件,使用简单的定制测试运行程序编写。这些看起来都是这样的:# -*- coding: utf-8 -*-import sys # …etc# «module code»def test(): from clu.testing.utils import inline @inline.precheck def show_some_initial_values(): """ Precheck function description """ # «pre-check code» @inline def test_one(): """ Test one’s description """ # «test code» @inline def test_two(): """ Test two’s description """ # «test code» @inline.diagnostic def show_some_final_values(): """ Diagnostic function description """ # «post-run diagnostic code» return inline.test(100) # runs test functions 100 times; # prechecks and diagnostics run onceif __name__ == '__main__': sys.exit(test())...他们输出报告,如下所示:...内联测试可以基于每个模块运行,直接从编辑器中运行。它们还可以通过 nox 设置全部运行,该设置收集并运行定义内联测试的所有模块。所以现在,关于和 codecov.io - 将套件与这些工具集成非常容易。我对一个现成的文件做了一些调整,安装了 codecov.io 插件,那就是 - 这些测试报告它们的覆盖范围 codecov.io 很好。coverage.pypytest.coveragercpytest我的问题是,如何集成内联测试的覆盖率报告?有没有一种简单的方法来配置以“理解”这些测试功能,或者内联测试是否需要将其结果报告给覆盖工具?coverage.py是否可以在文件中设置类似的东西,或者它是否更复杂?.coveragerc而且,我应该考虑任何其他工具,无论是额外的还是代替我当前使用的工具?
1 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
Coverage.py 对测试一无所知。它所做的只是告诉你代码的哪些部分是由某个程序运行的。通常,该程序是测试运行程序,但 coverage.py 并不在乎。
如果现在使用 运行测试,请将命令更改为 ,您将获得数据。python mytestrunner.py
coverage run mytestrunner.py
添加回答
举报
0/150
提交
取消