問題タブ [python-mock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2285 参照

python - テスト後に Python でモックを破棄する

次のようなテストがいくつかあるとしましょう。

そして、MyLib に次のようなものがあるとしましょう:

my_first_test では、my_lib.my_function をモックし、関数が実行されると True を返します。この例では、my_lib.my_function を呼び出す同じライブラリの別の関数である run_my_function() を呼び出しています。しかし、 my_second_test が実行されると、モックされた関数が呼び出されるのではなく、実際の関数が呼び出されます。したがって、my_first_test を実行した後、おそらく TeaDown() の実行中に、何らかの方法でモックを破棄する必要があると思います。どうすればそのモックを破壊できますか?

申し訳ありませんが、元の質問を編集して詳細を追加しました。

0 投票する
1 に答える
10375 参照

python - 一時ファイルシステムを使用してPythonでos.walkをモックする方法は?

os.walk を使用するコードをテストしようとしています。os.walk が返すサンプル (空の) ファイルとディレクトリを格納できる一時的なインメモリ ファイルシステムを作成したいと考えています。これにより、再帰をシミュレートするために os.walk 呼び出しをモックする複雑さが解消されます。

具体的には、テストしたいコードは次のとおりです。

これはpythonで可能ですか?

0 投票する
3 に答える
1951 参照

python - Python での厳密なモック

Pythonに厳密なモックに相当するものはありますか? モック化されたメソッド (この例では action.step2()) の意図しない呼び出しを報告するメカニズム。これは GoogleMock フレームワークの場合とまったく同じです。

0 投票する
1 に答える
822 参照

python - Pythonでモックを使用して複数の応答をモックする

モックを使用して書いたRestクライアントの単体テストを書こうとしています

このクラスがFoo2 つのメソッドを持っているとしましょう..get_foo()get_bar()

これが私のテストクラスです

私は基本的にこのチュートリアルを使用してここに到達しました: http://seminar.io/2013/09/27/testing-your-rest-client-in-python/

しかし今、バーもテストしたい..このアプローチでバーをテストするにはどうすればよいですか? ありがとう

0 投票する
1 に答える
756 参照

python - Django モデルでチェーンされたメソッドをモックする方法

Pythonモックライブラリを使用してDjangoモデルのメソッドをモックするために、次のようなことをしようとしています:

上記のコードは問題なく動作しますが、コードを次のように変更すると、単一の MagicMock オブジェクトが返され始めます。

Django モデルでメソッド呼び出しをチェーンしている場合でも、これを正しく実行できる方法はありますか?

0 投票する
1 に答える
2587 参照

python - Pythonでクラスオブジェクトメソッドの戻りをモックする

モック クラスの 1 つでテスト値を返すメソッドをモックしたいと思います。私が直面している問題は、テスト値を返すことではなく、モックされたメソッドが MagicMock 型のオブジェクトを返すことです。

コードはかなり不自然ですが、問題を示しています。

SuT (sut.py):

テスト (mocking.py):

0 投票する
3 に答える
174653 参照

python - Python モックの複数の戻り値

私は pythons mock.patch を使用しており、呼び出しごとに戻り値を変更したいと考えています。注意点は次のとおりです。パッチを適用する関数には入力がないため、入力に基づいて戻り値を変更することはできません。

参照用の私のコードは次のとおりです。

私のテストコード:

io.prompt「入力」のプラットフォームに依存しない (python 2 および 3) バージョンです。したがって、最終的には、ユーザーの入力をモックアウトしようとしています。戻り値にリストを使用しようとしましたが、うまくいきません。

戻り値が無効な場合、ここで無限ループが発生することがわかります。したがって、テストが実際に終了するように、最終的に戻り値を変更する方法が必要です。

(この質問に答える別の方法は、単体テストでユーザー入力を模倣する方法を説明することです)


主に入力を変更する能力がないため、この質問の重複ではありません。

この質問に対する回答のコメントの 1 つは同じ行に沿っていますが、回答/コメントは提供されていません。

0 投票する
0 に答える
143 参照

python - try/except ブロック内から呼び出される 2 つの関数をモックする方法は?

次のような関数 foo があります。

次のようなことを行って、Python モック ライブラリでテストしようとしています。

ただし、このようにすると、それらのいずれにもパッチが適用されず、代わりに適切なresponseオブジェクトが取得されStringIOます。StringIOパッチを省略した場合MagicMock、(オブジェクトではなく) 期待どおりのオブジェクトが得られresponseます。これを正しく機能させるにはどうすればよいですか?