我希望将函数表单和mocker一起传递给测试类中的另一个函数,并期望函数在返回后被模拟。但是,它似乎不起作用,谢谢你的任何建议!在
class Cls():
def submthd(self):
return 0
def mthd(self):
a=self.submthd()
return a
class Test_me(MockerTestCase):
def setUp(self):
pass
def mockup(self,f,m):
f = m.mock()
f(ARGS)
m.result(1)
m.replay()
def test_null(self):
m=Mocker()
o=Cls()
self.mockup(o.submthd,m)
self.assertEqual(o.mthd(),1)
m.verify()
我可能弄错了,但在我看来,您要做的似乎是用Python Mocker的说法称为"Patching"。您想更改现有的
submthd()
调用的行为。在首先,您需要使用new style classes(例如
object
的子类)。让我们重新定义Cls()
:我添加了
submthd2
和mthd2
,以演示如何在多个方法上使用mockup(...)
方法,但其他情况下,您的类基本上没有变化。在现在,为了在测试用例中使用修补程序,您需要执行以下操作:
^{pr2}$当我将此代码作为单元测试运行时,我得到:
相关问题 更多 >
编程相关推荐