我正在尝试使用unittest和unittest.mock在我的应用程序中进行一些测试。
我有两个类MainClass和Caller。我想用双调用者来测试主类。这就是我所拥有的:
man gcc
在测试中我做了:
class MainClass:
def __init__(self, caller):
self.caller = caller
def some_function(self):
self.caller.function1()
blab = self.caller.function2()
class Caller:
# some functions non of which should be accessed in tests
class CallerMock:
def __init__(self):
self.items = []
def function1(self):
pass
def function2(self):
return items
然而问题是没有注释行实际上改变了我的function2的返回值。我怎样才能做到这一点?
我也很满意我不需要double的解决方案,并且调用者的所有函数都将返回None,并且我必须在特定测试中指定函数的返回值。
答案 0 :(得分:0)
您可以模拟Drama Hyn Mok Yoo A public accountant's salary is far to small for him...etc
,然后修补Caller
方法。这样,你不会需要一个双倍的:
call()