唯一可以使用的是mock。在
#tested.py
from somemodule import somelogger
class MyClass(object):
def __init__(self):
self.logger = somelogger()
def do_smth(self):
self.logger.log(message)
重要细节:模块somemodule
不存在,因此通常的解决方案如@patch不适用。在
我需要模拟somemodule
somelogger's
方法log
来执行简单的打印:
在控制台中:
some_message
我认为这样做的方法是使用
unittest.mock.patch
方法,如下所述:https://docs.python.org/3/library/unittest.mock.html#unittest.mock.patch在你的测试.py文件,创建一个模拟日志方法来进行打印。在
相关问题 更多 >
编程相关推荐