'用于创建存根 / 虚假对象的Python库'

2024-05-10 01:31:10 发布

您现在位置:Python中文网/ 问答频道 /正文

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

谢谢

注:我不是在寻找模仿图书馆,你会记录和重播期待。

Difference between mock and stubs


Tags: and方法图书馆记录单元测试betweenmockstubs
2条回答

我们这样做。

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没有这个问题,所以为了测试的目的编写mock或伪实现是很容易的。

Python mocker看起来不错。

A Mocker instance is used to command recording and replaying of expectations on any number of mock objects.

相关问题 更多 >