python
runtime_error
ai_generated
true
断言错误:未引发异常
AssertionError: Exception not raised
ID: python/assertionerror-assert-raises
80%修复率
88%置信度
0证据数
2024-12-10首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 3.8 | active | — | — | — |
| 3.9 | active | — | — | — |
| 3.10 | active | — | — | — |
根因分析
测试期望使用 pytest.raises 或 assertRaises 引发异常,但代码执行时未引发异常。
English
A test expects an exception to be raised using pytest.raises or assertRaises, but the code executes without exception.
解决方案
-
95% 成功率 Use pytest.raises with exact exception
with pytest.raises(ValueError): raise ValueError('test') -
90% 成功率 Use unittest.TestCase.assertRaises
self.assertRaises(ValueError, func, arg)
无效尝试
常见但无效的做法:
-
Adding a try-except block manually
60% 失败
Manual try-except may miss the exact exception type or not fail properly.
-
Using a broader exception type
50% 失败
Catches unintended exceptions and may hide bugs.