【发布时间】:2014-08-23 12:21:59
【问题描述】:
在极少数情况下,我的方法可能包含在测试期间无法访问的代码分支(例如处理一些罕见的异常等)
我的意思是我有一些我永远不想被测试覆盖的代码。是否有特殊类型的注释/文档字符串/任何东西来标记此类代码,以便与正常代码明显区分并从鼻子代码覆盖率报告中排除?
【问题讨论】:
标签: python django unit-testing code-coverage nose
在极少数情况下,我的方法可能包含在测试期间无法访问的代码分支(例如处理一些罕见的异常等)
我的意思是我有一些我永远不想被测试覆盖的代码。是否有特殊类型的注释/文档字符串/任何东西来标记此类代码,以便与正常代码明显区分并从鼻子代码覆盖率报告中排除?
【问题讨论】:
标签: python django unit-testing code-coverage nose
根据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__
【讨论】: