問題タブ [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 に答える
6209 参照

python - 偽のオブジェクトを作成するための Python モックは、その属性のいずれかが使用されたときに辞書を返します

たとえば、リクエスト オブジェクトを再利用する Django のメソッドがあります。

unittest を作成するとき、偽のリクエスト オブジェクトを作成する必要があります。これにはGET属性があり、辞書が含まれている必要があります。{'sessionid': 'blah'}

モックパッケージを使用してそれを行うにはどうすればよいですか?

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

python - モック オブジェクトを sqlalchemy コレクションに追加すると例外が発生する

1 対多の関係を持つ SQLAlchemy モデル クラスの単体テストを作成していますが、モック オブジェクトをコレクションに追加できません。

テスト中のクラス:

テストコード:

モック オブジェクトを追加すると、例外が発生します。

コレクションを単純なリストのように動作させながら、モックを追加してリレーションシップを含むクラスを単体テストする方法はありますか?

私はモック 1.0.1 と sqlalchemy 0.8.2 を使用しています。

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

unit-testing - python mock patch : インスタンスのメソッドを呼び出す?

Python 2.7では、この機能があります

モックとパッチで、トークンがSlackerクラスで使用されていることを確認できます

post_message で使用されている文字列を確認するにはどうすればよいですか?

私は試してみます

しかし、私は得る

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

python - mock.patch() は、関数呼び出し内でいくつかのレベルを呼び出したクラスにパッチを適用していません

タスクがあります

Workerそれ自体は別のモジュールの別のクラスであり、Driverそのようなクラスを使用します。

もう一度Driver、別のモジュールの別のクラスです

だから私が何かをしようとすると

task にはまだDriverクラス インスタンスがありますが、 mock はありません。それは間違っている。それを修正する方法は?

UPD1 : 異なるモジュールDriverWorker住み、WorkerインポートしますDriver

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

python - モックされていないクラスで autospec を使用して classmethod にパッチを適用する方法は?

Python クラスの 1 つのクラスメソッドが、特定の引数セットを使用して別のクラスメソッドを呼び出すことを主張したいと思います。モック化されたクラスメソッドを「仕様化」したいので、間違った数の引数で呼び出されたかどうかを検出します。

を使用してクラスメソッドにパッチを適用するpatch.object(.., autospec=True, ..)と、クラスメソッドが に置き換えられ、NonCallableMagicMock呼び出そうとするとエラーが発生します。

出力を生成します:

_internal_classmethod属するクラスがモックされていない場合、仕様化されたモックを取得するにはどうすればよいですか?

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

python - Django テスト - すべてのテストでオブジェクトにパッチを適用する

MockMixinテスト用に何らかのものを作成する必要があります。外部ソースを呼び出すすべてのモックを含める必要があります。たとえば、管理パネルでモデルを保存するたびに、いくつかのリモート URL を呼び出します。それを嘲笑して、そのように使用するのは良いことです:

したがって、機能テストなどでモデルを管理者に保存するたびに、リモート URL を呼び出す代わりに、このモックが適用されます。

それは実際に可能ですか?私は 1 つの特定のテストでそれを行うことができますが、それは問題ではありません。しかし、私はそれをよく使うので、いくつかのグローバル モックがあるとより便利です。