問題タブ [magicmock]
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 - Numpy 構造化配列のモック
派手な構造化配列をモックする方法を見つけようとしていますが、あまり運がありません。理想的には、次のようなことをしたいと思います。
を使用して単一の辞書をモックする方法は理解していますが、任意の、ネストされた、または関数side_effect
に対してそれを行う方法がわかりません。__getitem__
__setitem__
編集:
ここにいくつかのコンテキストがあります:
self.my_structured_array
このようにして、他のロジックをテストするために、いくつかのジャンク値でオブジェクトを文字通りモックできます。ポイントは、ディクショナリ オブジェクトが実際には h5py ライブラリに結び付けられていることです。
python - この単体テストを Python でモックする方法は?
これは私がテストしたい方法です。このテスト メソッド (test_get_all_products) では、製品のリストと、dal によって識別される DB 呼び出しに対する模擬応答を渡したいと考えています。
これは私のテストです
しかし、モック オブジェクトからの products[0]['termMonths'] == 1 をアサートすると、termMonths は実際にはモック オブジェクト自体であり、期待していた戻り値 (product_sku_cost) ではないため、失敗します。
上記で私が間違っていることを理解するのを手伝ってください。
python - モック map_async 関数の引数が PicklingError を生成する
操作を実行する関数の周りにいくつかの単体テストを書き込もうとしていますmap_async()
。より具体的には、プロセスの 1 つで例外が発生した場合に、いくつかのファイルがクリーンアップされることを確認したいと思います。以下に示す意図を持つサンプルの擬似コード。
foo.py
test_foo.py
ただし、テストを実行すると、次の PicklingError: が表示されPicklingError: Can't pickle <class 'mock.MagicMock'>: it's not the same object as mock.MagicMock
ます。
マップされた関数を自分のモック関数に置き換えるという望ましい結果を実行する方法はありますか?
python - 入力に基づく MagicMock の戻り値
テストをフレックスモックからモックにリファクタリングしようとしています。flexmock からの次の構文が与えられます。
Mock を使用してこれをどのように書き換えることができますか? 特に、モックを使用して特定の入力に戻り値を固定するにはどうすればよいですか?
python - 異なる引数で 2 回呼び出される関数のモック
次の関数があるとします。
モックを使用してこの関数をテストしようとしていますが、これをテストする方法を決めるのに苦労しています。頭に浮かぶ 2 つのオプションは、side_effect
またはを使用することassert_has_calls
です。これが私がやろうとしていることの概要です。
func
2回呼び出されるようにしたい。(終わり)func
呼び出しごとにモックを作成したい (未完了)- render が 2 回呼び出されるようにしたい。(終わり)
- との
モックが必要
class_to_mock
です。(まだ完成してない)email_one
email_one
email_two
テストはこのようなものになります
'''method_for_class''' にも同じことが必要です。これは次のようになります(未完了) :
class_method.assert_called_once_with(*MOCK EMAIL TWO*, 'text/html')
うまくいけば、それは理にかなっています。基本的に、とfunc
に引数があることを確認するには、 からの 2 つの異なる呼び出しが必要です。class_to_mock
method_for_class
python - ユニットテスト `setUp` でメソッドを部分的にモックする
モック/パッチ フレームワークを理解しようとしていますが、問題があります。ここに私の簡略化されたコードがあります:
B.g
基本的に、私はテスト内でのみモックしたいのですが、 B.h
. https://docs.python.org/3/library/unittest.mock-examples.html#partial-mockingからアイデアを得ましたB.g
が、まだ嘲笑されていません。
ありがとうございました!
python - Python で変数をモックする
デバイスの状態を表す変数をモックしようとしています
この場合、デバイスを追加しようとしており、次のコードがあります。
私がやっていることは、self.network.controller.add_node( secure ) をモックすることです。それを行うと、self.commandState を Starting... に変更します。私が達成したかったのは、約 5 秒後にそれを self に変更することです。操作を正常に終了するには、COMMAND_COMPLETED を使用します。
これを嘲笑する方法はありますか?
python-2.7 - Python モック オブジェクトは、指定されたパラメーターを返すことができますか?
サーバーに HTTP リクエストを送信する Python メソッドをテストしています。メソッドは次のようになります。
私のテストから、データ変数に基づいてアサートしたいと思います。製品コードには触れたくありません (つまり、メソッドが明示的にデータを返すようにしたくありません)。make_request メソッドをモックアウトして、params を戻り値として返す方法はありますか? 何かのようなもの:
python - バインドされていないメソッド f() は、最初の引数として x インスタンスを使用して呼び出す必要があります (代わりに str インスタンスを取得)
これが私のクラスです:
できます:
しかし、私はテストで使用したいので、assert_called_with
メソッドを定義したいと思います:
しかし、私は得る
プロダクションコードを変更するgc.deleteMachine(gc, 'test')
と機能します。しかし、私たちはそれを望んでいませんよね?
python - Python パッチが機能しない、通話が記録されない
初めて MagicMock を使用しましたが、自分自身を混乱させたと思います。
django プロジェクトをテストしているので、services.py
次の重要な要素が含まれているファイル (非常に単純化されており、もちろん、多くの部分が切り取られています)::
send_success_attempt_email
呼び出されたときにget_template
、正しい引数で呼び出されることをテストしたいと思います。だから私はパッチでテストを書いた:
を出力0
し、call_count
吐き出します
間違ったインスタンスにパッチを適用することが一般的な落とし穴であることがわかりましたが、パッチでさまざまなバリエーション (たとえば、) を試しました@patch('services.get_template')
が、エラー ( nose.proxy.EncodeError: Can't pickle <class 'unittest.mock.MagicMock'>: it's not the same object as unittest.mock.MagicMock
) は変更されますが、軽減されません。
私は根本的な誤解をしているに違いないことを知っています。それは何ですか?