assert-raises-exception (B017)
源自 flake8-bugbear linter。
作用
检查会捕获 Exception
或 BaseException
的 assertRaises
和 pytest.raises
上下文管理器。
为什么这不好?
这些形式会捕获每个 Exception
,这可能导致测试通过,即使所考虑的代码引发了 SyntaxError
或 IndentationError
等错误。
请断言一个更具体的异常(内置或自定义),或者分别使用 assertRaisesRegex
或 pytest.raises(..., match=<REGEX>)
。
示例
建议改为