跳到内容

assert-raises-exception (B017)

源自 flake8-bugbear linter。

作用

检查会捕获 ExceptionBaseExceptionassertRaisespytest.raises 上下文管理器。

为什么这不好?

这些形式会捕获每个 Exception,这可能导致测试通过,即使所考虑的代码引发了 SyntaxErrorIndentationError 等错误。

请断言一个更具体的异常(内置或自定义),或者分别使用 assertRaisesRegexpytest.raises(..., match=<REGEX>)

示例

self.assertRaises(Exception, foo)

建议改为

self.assertRaises(SomeSpecificException, foo)