2011-07-21 8 views
1

にはパラメータではない方法で、オブジェクト(私はPythonの初心者です)モックのpython

私が見ていた:Mocking out objects and methods

と私は、オブジェクトを置き換えることができる場合、私は思っていました

def mypymethod(param1) 
    myresult = os.path.something 
    return myresult 

と私が呼ぶときしかし、私は返すように、このケースではos.pathを望む「yourmockresult」 mypymethodテストしたい:パラメータとして渡されていないのpythonの方法は、私の方法は次のようであると言うことができますそれは私のテストメソッドから

とにかくこれはできますか? ありがとうございます!

答えて

1

Michael FoordのMockモジュールを使用してください。ドキュメントから

>>> from mock import Mock 
>>> real = ProductionClass() 
>>> real.method = Mock(return_value=3) 
>>> real.method(3, 4, 5, key='value') 
3 
>>> real.method.assert_called_with(3, 4, 5, key='value') 
+0

ので、私は= Falseを、私は、その後はos.path os.path.isdirを呼ぶだろういくつかのメソッドを呼び出すMyMethodはos.path.isdirを行うことができます私の場合を意味します。 isdirは私のモック値を返しますか? – Jas

+0

絶対に....! –

+0

ありがとう!私はちょうどそれを試み、その絶対に素晴らしい!すべてのユニットテスターの夢!!!、javaで同じことをすることができるフレームワークはありますか? – Jas

関連する問題