【发布时间】:2022-01-25 12:29:36
【问题描述】:
我在一个名为 mymodule.py 的脚本中有这个函数
import logging
def foo():
try:
raise ConnectionError('My Connection Error')
except ConnectionError as ce:
logging.exception(ce)
我有一个名为 test_mymodule.py 的测试:
import unittest
import unittest.mock as um
import mymodule
class TestLoggingException(unittest.TestCase):
@um.patch('mymodule.logging')
def test_connection_error_correctly_logged_without_raising(self, mock_logging):
mymodule.foo()
mock_logging.assert_has_calls(
[um.call(ConnectionError('My Connection Error'))]
)
但是,在运行 test_mymodule.py 时,会引发以下断言错误。
AssertionError: Calls not found.
Expected: [call(ConnectionError('My Connection Error'))]
Actual: [call(ConnectionError('My Connection Error'))]
为什么认为它们是不同的,我该如何解决这个问题?
【问题讨论】:
标签: python unit-testing python-unittest