获取 Python assertRaises 以检查消息

Getting Python assertRaises to check for message

我也想使用 assertRaises 并检查错误消息。根据 docs 我必须将它用作上下文管理器。

with self.assertRaises(ValueError, msg='Invalid id format.'):
    api.get_by_id('a')

这会导致以下错误:

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

如果我在没有 msg 的情况下使用它,我会得到完全相同的错误。

assertRaises(exception, callable, *args, **kwds)一样使用它可以正常工作,但显然无法处理错误消息。

我不明白为什么 Python 无法识别我要使用的用例。

Python 3.7.10,MacOS 蒙特雷 12.2

两件事 - 首先,很难说出到底发生了什么,但你的代码中一定有其他错误,因为 with self.assertRaises(ValueError, msg='Invalid id format.'): 应该可以正常工作(在 Python 3.10 上测试)

第二件事 - msg 参数不做你想做的事 -

Link 提供还解释了如何使用 assertRaisesRegex

检查错误消息