問題タブ [mox]

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 投票する
0 に答える
256 参照

python - moxを使用したpythonモックopenメソッド

open メソッドをモックしようとすると、問題に直面しています。サンプルコードを見つけてください:

試験方法 :

私が試したオープンメソッドをモックするために:

しかし、これで問題は解決しません。このエラーが発生しています:

誰かがファイルを開くための正しいプロセスを教えてくれますか? 私はこれらの組み合わせを試しました:

洞察/解決策をいただければ幸いです。

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

automated-tests - Elixir Mox ライブラリで Phoenix コードをテスト - 一部のテスト ファイルで Mox を想定していない

TL;DR

Mox ライブラリの使用時に「期待値が定義されていない」ため、無関係なテストが失敗し、何の役にも立たstub_with/2ないようです

詳細:

Recaptcha ライブラリがあります

https://github.com/samueljseay/recaptcha

これは、recaptcha の応答を検証するのに役立ちます。すべていい。テストの時間です (そうです、何らかの方法でコードを動作させた後です。すべての TDD ファンには申し訳ありません)。明らかに、私は私のテストで叔父の Google を攻撃したくないので、次のようにします。

内部test_helper.ex。その動作を個別に定義する必要がありました:

以下を使用していくつかのテストを行います。

これまでのところ順調ですが、... 他のすべてのテストは現在、次のエラーで失敗しています:

私が見つけた素晴らしいドキュメントを読むと、「[...] 期待が定義されていない場合、実装をスタブ (または実際の) 実装にフォールバックすることが必要になる場合があります。stub_with/2それはまさにあなたが必要とするものです!」

の別の行test_helper.ex

それは機能しません** (ArgumentError) Recaptcha does not implement any behaviour。それでは、私自身の「プロキシ」を追加しましょう。

そして、test_helper.ex行を次のように変更します

はなくなりましArgumentErrorたが、Mox を期待しないすべてのテストは以前と同じように失敗します。の有無で変わりませんstub_with/2

そして、私はすでにそれであまりにも多くの時間を費やしたように感じます... :-( 私を軌道に乗せるための助けはありますか?

アップデート:

コメントで要求されているように、失敗したテストは、たとえばコントローラー テストです。

はい、要求が生成されるため、彼らは (不必要に) Recaptcha に「触れ」ますが、これは別のことであり、「解決策」は Recaptcha を歩き回らせることではなく、stub_with/2その仕事をさせることです。