用于创建存根/假对象的Python库
我在找一个Python的占位库。想要一个可以在我的单元测试中创建假类和假方法的工具。有没有简单的方法可以在Python中做到这一点呢?
谢谢!
PS:我不是在找那种可以记录和重放期望的模拟库。
2 个回答
0
Python mocker 看起来很不错。
一个 Mocker 实例可以用来记录和重放对多个模拟对象的期望。
9
我们这样做。
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没有这个问题,所以写一些用于测试的模拟或假实现就变得很简单。