我正在寻找python存根库。在我的单元测试中可以用来创建假类/方法的东西。有没有一种简单的方法可以在python中实现它..
由于
PS:我不是在寻找你会记录和重播期望的模拟库。
答案 0 :(得分:7)
我们这样做。
class FakeSomethingOrOther( object ):
def __init__( self ):
self._count_me= 0
def method_required_by_test( self ):
return self.special_answer_required_by_test
def count_this_method( self, *args, *kw ):
self._count_me += 1
设置它们并不需要花费太多时间
class TestSomething( unittest.TestCase ):
def setUp( self ):
self.requiredSomething = FakeSomethingOrOther()
self.requiredSomething.attribute_required_by_test= 12
self.requiredSomething.special_answer_required_by_test = 32
self.to_be_tested = ActualThing( self.requiredSomething )
由于您不需要复杂的静态检查类型声明,因此您需要的只是具有正确方法的类。您可以轻松地强制测试属性值。
这些东西真的很容易写。您不需要很多支持或库。
在其他语言(即Java)中,编写将通过静态编译时检查进行集合的内容非常困难。由于Python没有这个问题,因此为了测试目的而编写模拟或虚假实现是微不足道的。
答案 1 :(得分:0)
Python mocker看起来不错。
Mocker实例用于命令记录和重放 对任意数量的模拟对象的期望。