我有一个名为px
的函数。在division
块中引发异常后,它会被try
阻止,因此我在测试except
阻止时得到AssertionError
。我需要测试except
块以使代码覆盖率达到100%,并且我需要测试捕获的异常。如何测试except
块?
except
答案 0 :(得分:2)
有问题的功能是 NON TESTABLE 。
既不returns
也不是changes some object
。
它唯一会返回的是异常,而不是&{39; ZeroDivisionError
',这对于函数逻辑是不可能的。
因此,如果不更改功能代码本身并使其成为 TESTABLE '就无法测试功能。
答案 1 :(得分:0)
因为该函数捕获了ZeroDivisionError。 当a / b引发ZeroDivisionError时,代码将打印ez并返回None。移除除ZeroDivisionError之外的'测试将通过。