問題タブ [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 投票する
2 に答える
1190 参照

python - メソッドを使用してオブジェクトのリストを MagicMock し、アサート カウントを取得する方法

MagicMock を使用した Python での単体テストは初めてです。Python で正しいメソッド数をアサートする次のコードがあります。

shooMethod()単体テスト コードでメソッドのアサーション コール カウントを実行して、その中の N 個のオブジェクトbooObjectListが N 個の呼び出しを実行するかどうかを確認したいと考えています。上記の関数は、私の単体テスト コードではありません。test_methodFoo()私の単体テストクラスに新しいメソッドを作成してテストするメソッドです。どうすればいいですか?助けてくれてありがとう。

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

python - パブリック メソッドで Python モック パッチが期待どおりに機能しない

フラスコ アプリケーションのパブリック メソッドにパッチを適用しようとしていますが、うまくいかないようです。

ここに私のコードがありますmrss.feed_burner

そして、これが私がそれを使用する方法です

そして、これは解析していない私のテストです。

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

python - 戻り値をモックしないPython mock()

私は Python の mock() に問題があり、何が起こっているのかを理解するのに十分な知識がありません。

次のような抽象非同期タスククラスがあります。

このクラスの特定のインスタンスの createAsyncTask メソッドにパッチを適用したいと考えています。

私が書いたコードは次のようになります。

エンキューで task_ent を出力すると、<MagicMock name='createAsyncTask()' id='140578431952144'>

cls.createAsyncTaskエンキューで印刷すると、<MagicMock name='createAsyncTask' id='140578609336400'>

私は何を間違っていますか?createAsyncTask が 12 を返さないのはなぜですか?

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

python - モジュールレベルでmock.MagicMockの設定を解除するには?

誰かがモジュールを Python ファイルの先頭に MagicMock として設定したとします。

単体テストのリスト全体を実行しようとすると、moduleABCがモックになるため、これにより問題が発生します。

これを残りのファイルで実際の moduleABC に設定解除するにはどうすればよいですか?

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

python - オブジェクトをテストすると、別のオブジェクトにコマンド メソッドが送信されます

Testme.command() が Dependency のインスタンスで bar() を呼び出すことを確認しようとしていますが、不足し続けています。これを python -m unittest tests.test_config で実行しています。このコードは私のプロジェクトの tests/test_config.py にあります。

私がそれを実行すると、bar() が呼び出されなかったように失敗します: AssertionError: Expected 'bar' to be called once. 呼び出し回数 0 回。

Testme().command() が Dependency().bar() を呼び出すことをどのようにテストすればよいですか?

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

python - クラスのPythonモックデフォルトinit引数

クラスコンストラクターでデフォルトの引数をモックしたい:

単体テストでモックを作成したいのですDefaultConnectionが、デフォルト値として渡されると機能しません。

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

python - Python 内部エンティティのモック

一時的な内部オブジェクトの特定のメソッドを呼び出すかどうかにかかわらず、メソッドをテストしたいと思います。(ConfigParser.read)

したがって、オブジェクトは内部で作成され、メソッドが終了した後は外部からアクセスできません。

Python 2.7 の使用

foob​​ar.py で

config.read が呼び出されたかどうかをテストしたいと思います。

私が理解しているように、パッチデコレータはこれのために作成されましたが、残念ながら、テストケースが受け取る MagicMock オブジェクトは内部で作成されたものと同じではなく、メソッド内に存在するオブジェクトに近づくことができません。

私はこのように試しました:

問題は次のとおりです。- デバッグ時、mock_foobar には以前の呼び出しに関する内部データがありますが、「読み取り」プロパティはありません (読み取りメソッドをモックするための内部 MagicMock)

もちろん、リファクタリングして .read() やinit () に ConfigReader オブジェクトを与えるのも一つの方法ですが、常にコードを変更できるとは限らず、モジュールに触れずにメソッドの内部オブジェクトを把握したいと考えています。テスト中。

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

python - Python クラス外のメソッドにパッチを適用する

あるファイル内の別のメソッドによって呼び出されるメソッドにパッチを適用することに興味があります。例 - original.py ファイルの内容 -

このファイルの単体テストを書きたい、たとえば test.py と呼ぶ

パッチとモック モジュールを使用して original.py をテストするにはどうすればよいですか。A() が常に整数ではなく MagicMock() オブジェクトを返すようにします。

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

mocking - Pythonユニットテストモック:パラメータ化されたクラスオブジェクトを介してクラス関数をモックしていますか?

lib/thing.py

app/thing.py

では、モック化された Class() オブジェクトを使用して function2 が呼び出されたときにパッチを適用して、妨げられないようにする必要がある を発生test/test_thing.pyさせたいと考えています。このようなもの(機能しません):lib.thing.Class.class_function1AttributeErrortest_function2