如何指示coverage.py省略顶级定义并仅计算方法的主体?

2024-03-23

我想测试大型软件(特别是 Odoo 插件)中单个软件包的覆盖范围。我无法控制测试的整体设置。在加载模块之前破解 Odoo 来启动覆盖率收集是不值得的——在常规硬件上运行所有 Odoo 测试大约需要 20 分钟;所以我想选择性地测试一些自定义模块的覆盖率。

我在用着setUpModule and tearDownModule像这样:

_coverage = Coverage(
    source=[
        'odoo.addons.xhg_autrement_prices.models',
    ],
    config_file=_join('.coveragerc'),
    auto_data=True,
    data_file=_join('.coverage'),
)


def setUpModule():
    _coverage.start()


def tearDownModule():
    from test.support import captured_stderr
    _coverage.stop()
    _coverage.save()
    with captured_stderr() as stderr:
        total = _coverage.report(skip_covered=True, file=sys.stderr)
    report = stderr.getvalue()
    fail_under = _coverage.get_option('report:fail_under')
    assert not fail_under or total >= fail_under, \
        f"Coverage not reached. total: {total}; expected: {fail_under}\n{report}"

然而,当测试机器调用setUpModule正在测试的模型模块已被 Odoo 加载。

因此,coverage.py 将定义某些函数(或类)的行报告为未命中。例如,在下面的类中:

class SumAggregator(SimpleAggregator):
    '''Aggregate by sum.'''
    def __init__(self, start: Result = 0) -> None:
        self.start = start

    def __call__(self, results: Iterable[Result], env: Environment) -> Result:
        return sum(results, self.start)

定义的线__call__据报道,方法没有被覆盖,但它的主体却很受欢迎。前 3 行(类定义、其文档字符串和init定义)被报告遗漏。显所有文档字符串(大约占源代码的 10%)被报告丢失。

如何指示覆盖率省略顶级定义并仅计算类或函数(方法)的主体?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何指示coverage.py省略顶级定义并仅计算方法的主体? 的相关文章

随机推荐

  • jQuery 不支持选择顶级节点文本?

    每当我需要顶级文本节点时 我必须写这个长故事吗 hello clone children remove end text 为什么没有原生函数支持呢 我不确定为什么没有本地支持 我想你可以把这行笨重的代码变成一个插件 一定有一个比我选择的更好
  • Spark:连接拒绝纱线上的 webapp 代理

    我在 docker 容器上使用 Spark 和 hadoop 我有 3 个容器主容器和 2 个从容器 一切工作正常 但我在运行任务时遇到 Spark 代理 Web 应用程序问题 我可以连接到yarn webapp 但nhttp 172 20
  • 如何将express添加到角度启动器中?

    我一直在使用 webpack 和 Angular 使用 webpack dev server 开发我的 angular2 应用程序 https github com AngularClass angular starter https gi
  • 使用变量定义数组的大小

    这在C语言中有效吗 include
  • Pony ORM 报告记录“在当前事务之外更新”,而没有其他事务

    代码很简单 如下 from pony orm import Required Set Optional PrimaryKey from pony orm import Database db session import time db D
  • 在C#中,将字符串解析为单个字符

    在 C 中 如何将字符串解析为单个字符 Given 词 太棒了 期望的结果 字母 0 W 字母 1 o 字母 2 n 字母 3 d 字母 4 e 字母 5 r 字母 6 f 字母 7 u 字母 8 l Char letters word T
  • TeraData SQL 中“TOP”和“SAMPLE”之间的区别

    TeraData SQL 中的 TOP 和 SAMPLE 有什么区别 它们是一样的吗 From 顶部与样本 http datawarehouse ittoolbox com groups technical functional terad
  • 带有 C++ 代码的 R 包安装失败,未创建 DLL

    我目前正在开发一个 R 包 它使用 C 代码并包含外部库 dlib boost 和小组开发的优化库 我们使用 Rcpp 来集成 R 和 C 但问题是该包总是无法编译 而且我发现的类似问题都对我不起作用 R CMD 检查生成的报告为 inst
  • 带有前缀的 DynamoDB 和 TableNameOverride

    我正在测试 DynamoDB 表 并希望使用前缀 dev 为生产和开发环境设置不同的表名称以进行开发 我做了这个测试来打印表名称 import com amazonaws services dynamodbv2 datamodeling D
  • SQLite数据库更新一行android

    我正在开发一个android应用程序 其中我需要根据某个where子句更新表中的列 下面是代码 public void updatethekeyofweeklycolumn String profilename String keystem
  • 失败的测试是否会导致持续构建失败?

    如果一个项目的测试作为构建计算机上构建过程的一部分执行 那么如果一组测试失败 整个构建是否应该失败 回答这个问题时应该考虑哪些因素 哪些测试失败重要吗 提出这个问题的背景信息 目前我正在开发一个项目NUnit http www nunit
  • C#中使用Open Xml SDK导出DataTable到Excel时指定编码格式

    我只是想使用 open xml 将数据表导出为 excel 参考了下面的方法 在 C 中使用 Open Xml SDK 将数据表导出到 Excel https stackoverflow com questions 11811143 exp
  • 如何在python中声明零数组(或特定大小的数组)[重复]

    这个问题在这里已经有答案了 我正在尝试构建计数直方图 所以我创建了桶 我知道我可以遍历并附加一堆零 即 buckets for i in xrange 0 100 buckets append 0 有更优雅的方法吗 我觉得应该有一种方法来声
  • 使用 GWT 平台将参数从一个演示者传递到另一个演示者

    我正在尝试将已加载到演示者上的参数传递给另一个演示者 例如来自某个客户端的汽车 最好的方法是什么 使用网守 有什么例子吗 PS 我将 DI 与 gin 和 GWT Platform 框架一起使用 如果应该在事件触发时加载演示者 您可以使用P
  • paypal 沙箱不工作[重复]

    这个问题在这里已经有答案了 我正在使用 PayPal 沙箱进行测试付款 自过去 3 4 个月以来 它运行良好 但我看到他们正在沙箱设计 管理测试电子邮件帐户的方式等方面进行更改 他们禁用了我的实际沙箱帐户 并要求我使用真实的 PayPal
  • 来自 Kafka 的 pySpark 结构化流不会输出到控制台进行调试

    下面是我的代码 我尝试了许多不同的选择变体 但应用程序运行 但没有显示每秒写入的消息 我有一个 Spark Streaming 示例 它使用 pprint 确认 kafka 实际上每秒都会收到消息 Kafka 中的消息采用 JSON 格式
  • PHP webdriver 等待 Ajax 完成执行

    只是想检查 ajax 是否不再执行 但是这方面的文档并不多 我找到的最接近的答案是 php webdriver selenium 等待ajax https stackoverflow com questions 45597877 phpwe
  • HTML5 是否意味着 JavaScript 的作用会减少?

    使用 HTML5 的浏览器是否会使用更少的 JavaScript jQuery 等并仅使用 HTML 来完成动画之类的事情 它会减少 Flash 对于 流畅 图形的需要吗 换句话说 既然 HTML5 已经到来 我花时间学习 jQuery 不
  • Laravel/Guzzle - POST 二进制文件内容

    我正在尝试向第 3 方 API 发出简单的 POST 请求 API 接受文件作为 BODY 参数 具体来说 文件内容必须是二进制的 我已使用 Postman 成功发布到此第 3 方 API 主体配置如下 上传文件时 我使用的是 Larave
  • 如何指示coverage.py省略顶级定义并仅计算方法的主体?

    我想测试大型软件 特别是 Odoo 插件 中单个软件包的覆盖范围 我无法控制测试的整体设置 在加载模块之前破解 Odoo 来启动覆盖率收集是不值得的 在常规硬件上运行所有 Odoo 测试大约需要 20 分钟 所以我想选择性地测试一些自定义模