如何解决如何获取 Pytest 的代码覆盖率百分比值?
我想将我的 pytest 测试的代码覆盖率百分比值发送到外部系统。 Xml 或 Html 报告对我来说不兼容,因为它们包含很多冗余信息。是否可以在某些 pytest 夹具中获取此值以在测试执行后将其发送到外部系统?
解决方法
您可以通过 cov
固定装置访问覆盖实例。但是,IIRC 您需要实际生成报告以获取百分比(或在自定义覆盖率插件中自己计算)。在下面的示例中,我使用会话范围的自动使用装置,因此每次测试运行时都会自动调用一次并将报告写入一次性文件对象:
import io
import pytest
@pytest.fixture(scope="session",autouse=True)
def upload_coverage(cov):
yield
cov.save()
percentage = cov.report(file=io.StringIO())
# percentage is a float which you can upload now
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。