用于创建存根/伪对象的Python库

用于创建存根/伪对象的Python库,python,testing,mocking,stub,Python,Testing,Mocking,Stub,我正在寻找python存根库。可以用来在我的单元测试中创建假类/方法的东西。。有没有一种简单的方法可以在python中实现它 谢谢 PS:我不是在寻找模拟库,在那里你们可以记录和重播期望 看起来不错 Mocker实例用于命令录制和重播 对任意数量的模拟对象的期望 我们这样做 class FakeSomethingOrOther( object ): def __init__( self ): self._count_me= 0 def method_required_b

我正在寻找python存根库。可以用来在我的单元测试中创建假类/方法的东西。。有没有一种简单的方法可以在python中实现它

谢谢

PS:我不是在寻找模拟库,在那里你们可以记录和重播期望

看起来不错

Mocker实例用于命令录制和重播 对任意数量的模拟对象的期望

我们这样做

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没有这个问题,所以为测试目的编写模拟或伪实现是很简单的。

它不是模拟框架吗。。。记录期望值并验证它们。。。没有比这更简单的方法可以为我创建一个假的实现。。thanks@StackUnderflow字体你在剪头发。您能否更新您的问题以定义“模拟”和“伪实现”之间的区别。我认为它们是一样的,但你是说它们不同。“模拟对象总是使用行为验证,存根可以走任何一条路。”那么存根就是模拟?当“存根”可以做与mock相同的事情时,说“没有mock”有什么意义?请提供对你来说重要的实际差异,而不是引用一篇大文章。