問題タブ [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.
python - クラスのメソッド内で外部関数をモックするにはどうすればよいですか
モックについて助けが必要です。
mymodule.py に次のコードがあります。
今、私はテストコードを持っています:
python - Python で「+」演算子をモックする方法 (具体的には datetime.date + datetime.timedelta)
私は Django でいくつかの日付のモックの問題に取り組んでおり、最後のハードル (希望) は次の状況です。から派生した FakeDate クラスがありdatetime.date
、それをモックします。
FakeDate クラスは期待どおりに動作しますが、FakeDate に a を追加すると、モックではなくdatetime.timedelta
本物の が返されるという問題が発生します。datetime.date
これは、サードパーティ ライブラリの他の場所にisinstance(value, datetime.date)
チェックがあり、timedelta を使用すると常に失敗するため、重要です。
FakeDate + timedelta の追加で、datetime.date オブジェクトではなく FakeDate オブジェクトを返すようにしたいのですが、timedelta にパッチを適用する必要があると思いますが、どのように/どこでこれを行うことができますか?
python - Python で `mock` を使用して、指定されたパラメーターでメソッドをモックできますか?
私はこれを行うかどうかを知っています:
次に、my.factory のすべてがモックされますが、fatory にはメソッドがあります。渡した場合はモックオブジェクトを返し、a を渡した場合はcreate_fruit(self, type)
オブジェクトを返します。'apple'
'apple'
'banana'
'banana'
mock
これはモジュールで実装できますか? ドキュメントで明確に見つけることができません:
https://pypi.python.org/pypi/mock
python - Python テスト ケースでいくつかの基本クラスの動作をモックする必要がある
私のタイトルはかなり説明的ですが、ここに行きます。この設定があるとします。
現在、派生クラスをテストしている状況がありますが、その際に、その基本クラスのメソッドが呼び出されることを確認する必要があります。私はこのようなことをしてみました
この設定が間違っていると 100% 確信しています。
私はスーパーで何か間違ったことをしていることを知っています。誰かアイデアがありますか?
lambda - Pythonモックを使用して関数をラムダでオーバーライドするにはどうすればよいですか?
Greenlet.spawn
少し後でコードを呼び出すために使用するコードがあります。そのコードで例外が発生していることがわかりました。テストでキャッチされたはずですが、テストが成功した後、スポーンによって実行されます。
Greenlet.spawn
渡された関数をすぐに呼び出すようにパッチを適用する方法を探しています。
テスト クラスにパッチを適用したいのですが、テストに引数を追加する必要はありません。私は他の多くのものにパッチを使用してきましたが、これを行うことができなければならないと感じていますが、私のグーグル検索はどれも実りがありませんでした.
何か案は?
python - Sphinx で使用する Python イテラブルのモック
私は Sphinx を使用して wxPython に依存するプロジェクトを文書化し、autodocs拡張機能を使用して、docstring からページを自動的に生成します。autodocs拡張機能は、すべてのモジュールで自動的に動作します。これは、パッケージには問題ありませんが、 wxPython のような大規模な外部ライブラリでは問題になります。したがって、wxPython からすべてを生成させる代わりに、ライブラリ モジュール(以前は外部パッケージMock ) を使用しています。最も基本的なセットアップは、wxPython のほとんどの部分で問題なく機能しますが、簡単な方法が見つからない状況に遭遇しました (おそらく、今週までモックに比較的慣れていなかったためです)。import
import
unittest.mock
現在、私のconf.py
ファイルの最後には次のものがあります。
を除くすべての wxPython モジュールでwx.lib.newevent
、これは完全に機能します。ただし、ここではnewevent.NewCommandEvent()
function[1] を使用して特定のシナリオのイベントを作成しています。この場合、NewCommandEvent()
呼び出しに関する警告が表示され、メモが表示されTypeError: 'Mock' object is not iterable
ます。
単体テストを構築するためにこれを処理するためにパッチを適用する方法はわかりますが(これは来月行う予定です)、Sphinx 構成の単純なレベルでそれを統合する方法を理解するのに苦労しています。 .
編集:私も使っMagicMock()
てみました。これは同じポイントでまだエラーを生成しますが、現在はValueError: need more than 0 values to unpack
. これは正しい方向への一歩のように思えますが、この 1 つのモジュールに対して明示的に設定する以外に、これを処理する方法がまだわかりません。たぶんそれが最善の解決策ですよね?
脚注
- はい、それは関数であり、クラスのように見える命名規則です。wxPython は、wxWidgets ツールキット全体で使用される C++ 命名規則に従います。
python - サブモジュール付きの Python モックパッチ
別のモジュールで関数を呼び出す単純なメソッドを置き換えるのに問題があります。私がモッキングについて理解していることから、呼び出されているメソッドを参照する必要があります(元のメソッドではなく、そのコンテキストで)。以下は、私が実行しているものの簡略化されたバージョンであり、モックについて学ぶ必要があるのは簡単なものであることを願っています. パッチは Class および Class メソッドのみに使用することを意図していますか、それともここで何か間違ったことをしていますか?
ありがとう、スティーブ
myapp.models.py
myapp.backends._ init _.py
test.py
python - Python: Flask を使用したモック パッチ エラー
私は、Python の記述に関しては完全な初心者であり、テストは言うまでもありません。
私のFlaskエンドポイントは次のとおりです。
これが私のテストです:
私が受け取っているエラーは次のとおりです。
何が悪いのかわかりません。どんな助けでも大歓迎です!ありがとう!