【发布时间】:2022-07-04 23:28:44
【问题描述】:
我有一个类对象 (my_object),该类中的方法都包含在我的单元测试中。然而,单元测试文件本身有一些代码行遗漏。这些代码行是异常处理程序。
例如下面的单元测试:
def test_remove_file(self):
my_object.put_file(my_file)
try:
my_object.check_file_exists(my_file)
except Exception:
assert False
response = my_object.remove_file(my_file)
assert response == True
覆盖率报告说异常处理程序丢失。我怎样才能防止这种情况,什么是 在单元测试中没有涵盖这个的含义?
【问题讨论】:
-
我建议从覆盖率报告中排除测试,这些测试是为了提供对“真实”代码的覆盖......包括覆盖率统计中的测试本身会扭曲数字并且是没有帮助
-
引发任何异常(不仅仅是
AssertionError)的测试被认为是失败的测试。没有理由为了引发另一个异常而捕获一个异常。
标签: python pytest code-coverage