python type_error ai_generated true

类型错误:assertRaises() 缺少必需的位置参数 'exc'

TypeError: assertRaises() missing 1 required positional argument: 'exc'

ID: python/unittest-assertraises-context-error

其他格式: JSON · Markdown 中文 · English
80%修复率
90%置信度
0证据数
2024-05-22首次发现

版本兼容性

版本状态引入弃用备注
3.12 active

根因分析

使用 assertRaises 作为上下文管理器时,未正确传入异常类型

English

使用 assertRaises 作为上下文管理器时,未正确传入异常类型

generic

解决方案

  1. 95% 成功率
    with self.assertRaises(ValueError): func()
  2. 85% 成功率
    with self.assertRaisesRegex(ValueError, 'msg'): func()

无效尝试

常见但无效的做法:

  1. 30% 失败

    如果调用方式错误,仍然会失败

  2. 50% 失败

    失去 unittest 的断言功能,测试报告不准确