擅长:python、mysql、java
<p>或者您可以装饰测试方法:</p>
<pre><code>def check_called(fun):
def wrapper(self, *args, **kw):
attrname = "_{}_called".format(fun.__name__)
setattr(self, attrname, True)
return fun(self, *args, **kw)
return wrapper
a = A()
a.tmp = check_called(a.tmp)
b(a)
assert(getattr(a, "_tmp_called", False))
</code></pre>
<p>但是如果您已经在使用Mock,MagicMock的<code>side_effect</code>无疑是一个更好的解决方案;)</p>