获取 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
检查错误消息
我也想使用 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
检查错误消息