我正在使用mox框架对现有模块进行单元测试。我还不能弄清楚是否有一种方法可以模拟一个函数,以便它返回不同的响应。 我尝试了各种方法都无济于事,我知道还有一些其他的像fudge这样的模拟库允许这样做。只是想知道是否有。相同的mox变体。
#function to return int
def getInt(x):
return x
#function to be tested
def testMe():
x = getInt()
y = getInt()
#My UT code
def test_TestMe():
self.mox.StubOutWithMock(DummyClass, "getInt",
use_mock_anything=True)
# First call should return 1
DummyClass.getInt(IgnoreArg()).AndReturn(1)
# Second call should return 5
DummyClass.getInt(IgnoreArg()).AndReturn(5)
self.mox.ReplayAll()
self. DummyClass.getInt(0)
self.mox.VerifyAll()
self.mox.UnsetStubs()