我的python单元测试调用
self.assertRaisesRegex(Exception, "Missing price data for hids: {123}", self.idc_service.load_prices, date(2021, 2, 22), date(2021, 2, 23), [123])这将导致错误:
Failure
Exception: Missing price data for hids: {123}
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\ProgramData\Miniconda3\lib\unittest\case.py", line 59, in testPartExecutor
yield
File "C:\ProgramData\Miniconda3\lib\unittest\case.py", line 615, in run
testMethod()
File "C:\Users\Alin\Desktop\code\pyApps\pyApps\tests\services\TestIdcDataService.py", line 32, in test_missing_hid_prices
self.assertRaisesRegex(Exception, "Missing price data for hids: {123}", self.idc_service.load_prices, date(2021, 2, 22), date(2021, 2, 23), hids)
File "C:\ProgramData\Miniconda3\lib\unittest\case.py", line 1285, in assertRaisesRegex
return context.handle('assertRaisesRegex', args, kwargs)
File "C:\ProgramData\Miniconda3\lib\unittest\case.py", line 178, in handle
callable_obj(*args, **kwargs)
File "C:\ProgramData\Miniconda3\lib\unittest\case.py", line 217, in __exit__
expected_regex.pattern, str(exc_value)))
File "C:\ProgramData\Miniconda3\lib\unittest\case.py", line 135, in _raiseFailure
raise self.test_case.failureException(msg)
AssertionError: "Missing price data for hids: {123}" does not match "Missing price data for hids: {123}"断言错误令人困惑,因为这两个字符串完全匹配。消息“在处理上述异常期间发生了另一个异常”是否发生了什么情况?
发布于 2021-03-02 15:06:02
{}对regexes有特殊的意义,您需要逃离它们。
self.assertRaisesRegex(Exception, r"Missing price data for hids: \{123\}", self.idc_service.load_prices, date(2021, 2, 22), date(2021, 2, 23), [123])https://stackoverflow.com/questions/66441858
复制相似问题