我有这个我要测试的代码:
log = logging.getLogger(__name__)
class A(object):
def __init__(self):
log.debug('Init')
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何断言使用'Init'调用log.debug
我尝试修补记录器,但检查它我只发现了一个getLogger模拟.
我确信它很简单,但我无法想象它!
在此先感谢您的帮助!
我有一行代码:
if not hasattr(class.a, u'c'):
return
Run Code Online (Sandbox Code Playgroud)
如何模拟类,以便class.ac为hasattr返回False?
如果我这样做:
>>> from mock import MagicMock
>>> mock_class = MagicMock(spec=[u'a'])
>>> hasattr(mock_class, u'a')
True
>>> hasattr(mock_class, u'b')
False
>>> hasattr(mock_class.a, u'c')
True
Run Code Online (Sandbox Code Playgroud)
虽然我没有指定class.ac,但它被嘲笑!