模拟相同的函数以返回不同的响应

时间:2019-01-25 09:10:29

标签: python mox

我正在使用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()


0 个答案:

没有答案