3

Pythonスタブライブラリを探しています。私のユニットテストで偽のクラス/メソッドを作成するために使用できるものがあります。Pythonでそれを実現する簡単な方法はありますか。

ありがとう

PS:私はあなたが期待を記録して再生するようなモックライブラリを探していません。

モックとスタブの違い

4

2 に答える 2

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にはこの問題がないため、テスト目的でモックや偽の実装を作成するのは簡単です。

于 2010-03-12T22:13:56.790 に答える
0

Pythonモッカーはよさそうだ。

Mockerインスタンスは、任意の数のモックオブジェクトに対する期待値の記録と再生をコマンドするために使用されます。

于 2010-03-12T22:09:59.583 に答える