【问题标题】:How do I exclude particular part of code from django_nose coverage如何从 django_nose 覆盖范围中排除代码的特定部分
【发布时间】:2014-08-23 12:21:59
【问题描述】:

在极少数情况下,我的方法可能包含在测试期间无法访问的代码分支(例如处理一些罕见的异常等)

我的意思是我有一些我永远不想被测试覆盖的代码。是否有特殊类型的注释/文档字符串/任何东西来标记此类代码,以便与正常代码明显区分并从鼻子代码覆盖率报告中排除?

【问题讨论】:

    标签: python django unit-testing code-coverage nose


    【解决方案1】:

    根据coverage documentation,需要在代码中添加pragma: no cover注释:

    任何带有“pragma: no cover”注释的行都被排除在外。如果说 行引入了一个子句,例如,一个 if 子句,或一个函数或 类定义,则整个子句也被排除。

    a = my_function1()
    if debug:   # pragma: no cover
        msg = "blah blah"
        log_message(msg, a)
    b = my_function2()
    

    您还可以使用coverage configuration file 并定义exclude_lines 配置参数以及要从覆盖范围中排除的模式列表。例如,要排除所有 __repr__() 方法被考虑:

    [report]
    exclude_lines = def __repr__
    

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 2021-02-12
      • 1970-01-01
      • 2016-03-21
      相关资源
      最近更新 更多