問題タブ [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.

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

python - Numpy 構造化配列のモック

派手な構造化配列をモックする方法を見つけようとしていますが、あまり運がありません。理想的には、次のようなことをしたいと思います。

を使用して単一の辞書をモックする方法は理解していますが、任意の、ネストされた、または関数side_effectに対してそれを行う方法がわかりません。__getitem____setitem__

編集:

ここにいくつかのコンテキストがあります:

self.my_structured_arrayこのようにして、他のロジックをテストするために、いくつかのジャンク値でオブジェクトを文字通りモックできます。ポイントは、ディクショナリ オブジェクトが実際には h5py ライブラリに結び付けられていることです。

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

python - この単体テストを Python でモックする方法は?

これは私がテストしたい方法です。このテスト メソッド (test_get_all_products) では、製品のリストと、dal によって識別される DB 呼び出しに対する模擬応答を渡したいと考えています。

これは私のテストです

しかし、モック オブジェクトからの products[0]['termMonths'] == 1 をアサートすると、termMonths は実際にはモック オブジェクト自体であり、期待していた戻り値 (product_sku_cost) ではないため、失敗します。

上記で私が間違っていることを理解するのを手伝ってください。

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

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ます。

マップされた関数を自分のモック関数に置き換えるという望ましい結果を実行する方法はありますか?

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

python - 入力に基づく MagicMock の戻り値

テストをフレックスモックからモックにリファクタリングしようとしています。flexmock からの次の構文が与えられます。

Mock を使用してこれをどのように書き換えることができますか? 特に、モックを使用して特定の入力に戻り値を固定するにはどうすればよいですか?

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

python - 異なる引数で 2 回呼び出される関数のモック

次の関数があるとします。

モックを使用してこの関数をテストしようとしていますが、これをテストする方法を決めるのに苦労しています。頭に浮かぶ 2 つのオプションは、side_effectまたはを使用することassert_has_callsです。これが私がやろうとしていることの概要です。

  • func2回呼び出されるようにしたい。(終わり)
  • func呼び出しごとにモックを作成したい (未完了)
  • render が 2 回呼び出されるようにしたい。(終わり)
  • との モックが必要class_to_mockです。(まだ完成してない)email_oneemail_oneemail_two

テストはこのようなものになります

  • '''method_for_class''' にも同じことが必要です。これは次のようになります(未完了) :

    class_method.assert_called_once_with(*MOCK EMAIL TWO*, 'text/html')

うまくいけば、それは理にかなっています。基本的に、とfuncに引数があることを確認するには、 からの 2 つの異なる呼び出しが必要です。class_to_mockmethod_for_class

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

python - ユニットテスト `setUp` でメソッドを部分的にモックする

モック/パッチ フレームワークを理解しようとしていますが、問題があります。ここに私の簡略化されたコードがあります:

B.g基本的に、私はテスト内でのみモックしたいのですが、 B.h. https://docs.python.org/3/library/unittest.mock-examples.html#partial-mockingからアイデアを得ましたB.gが、まだ嘲笑されていません。

ありがとうございました!

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

python - Python で変数をモックする

デバイスの状態を表す変数をモックしようとしています

この場合、デバイスを追加しようとしており、次のコードがあります。

私がやっていることは、self.network.controller.add_node( secure ) をモックすることです。それを行うと、self.commandState を Starting... に変更します。私が達成したかったのは、約 5 秒後にそれを self に変更することです。操作を正常に終了するには、COMMAND_COMPLETED を使用します。

これを嘲笑する方法はありますか?

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

python-2.7 - Python モック オブジェクトは、指定されたパラメーターを返すことができますか?

サーバーに HTTP リクエストを送信する Python メソッドをテストしています。メソッドは次のようになります。

私のテストから、データ変数に基づいてアサートしたいと思います。製品コードには触れたくありません (つまり、メソッドが明示的にデータを返すようにしたくありません)。make_request メソッドをモックアウトして、params を戻り値として返す方法はありますか? 何かのようなもの:

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

python - バインドされていないメソッド f() は、最初の引数として x インスタンスを使用して呼び出す必要があります (代わりに str インスタンスを取得)

これが私のクラスです:

できます:

しかし、私はテストで使用したいので、assert_called_withメソッドを定義したいと思います:

しかし、私は得る

プロダクションコードを変更するgc.deleteMachine(gc, 'test')と機能します。しかし、私たちはそれを望んでいませんよね?

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

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) は変更されますが、軽減されません。

私は根本的な誤解をしているに違いないことを知っています。それは何ですか?