在极少数情况下,我的方法可能包含在测试期间无法访问的代码分支(例如处理一些罕见的异常等)。
我的意思是我的代码是我永远不想通过测试来覆盖的。是否有特殊类型的注释/文档字符串/标记此类代码,以便与正常代码明确区分并从鼻子代码覆盖率报告中排除?
答案 0 :(得分:3)
根据coverage
documentation,您需要在代码中添加pragma: no cover
条评论:
排除任何评论为“pragma:no cover”的行。如果说 line引入了一个子句,例如,if子句,或函数或 类定义,然后整个子句也被排除。
a = my_function1()
if debug: # pragma: no cover
msg = "blah blah"
log_message(msg, a)
b = my_function2()
您还可以使用coverage
configuration file并使用要从coverage中排除的模式列表定义exclude_lines
配置参数。例如,要排除所有__repr__()
方法的考虑因素:
[report]
exclude_lines = def __repr__