問題タブ [moq-3]

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

c# - Moqで参照パラメータの値を確認します

Moqに切り替えたところ、問題が発生しました。ビジネスオブジェクトの新しいインスタンスを作成し、ユーザー入力値からオブジェクトのプロパティを設定し、メソッド(SaveCustomerContact)を呼び出して新しいオブジェクトを保存するメソッドをテストしています。ビジネスオブジェクトはリモーティングレイヤーを通過するため、ref引数として渡されます。SaveCustomerContactに渡されるオブジェクトのすべてのプロパティが期待どおりに設定されていることをテストする必要がありますが、コントローラーメソッドで新しいものとしてインスタンス化されているため、そうすることができないようです。

テストは次のとおりです。

これは、そのパラメータを取得するための多くの試みの最新のものです。参考までに、actualの値は初期(構築)状態から変化しません。

ターゲット呼び出しが失敗した後、Assert.AreEqual(expected、actual)を移動します。.CallBackの代わりに.Verizable()をセットアップに追加してから、remote.Verifyを呼び出した場合、ターゲットの後で(または、モックをstrictに設定すると仮定して)、テストで提供するパラメーターがコントローラメソッドで作成されたものと同じインスタンス。

私はMoq3.0.308.2を使用しています。これをテストする方法についてのアイデアをいただければ幸いです。ありがとう!

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

unit-testing - Moq: モックされたメンバー/プロパティの動作とモックされていないメンバー/プロパティの動作を入れ替えることはできますか?

テスト クラスで使用しているモック ライブラリの 1 つのインスタンスを使用したいのですが、一部のテストでは、メンバー関数の 1 つをモックして、モック動作/戻り値を実行/返すことが必要な場合があります。他のテストでは、ライブラリのモックされていない (ネイティブの) 機能が必要になる場合があります。あるインスタンスのセットアップ (モックされた動作) と別のインスタンスの "UNSetup" (モックされていない動作) を切り替える方法はありますか?

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

c# - Moq を使用して ILogger / ILoggerService をモックする方法

View Model クラスの単体テストを書いています。このクラスのコンストラクターには、ILoggerService が挿入されます。このインターフェイスは、ILogger を返す 1 つのメソッド GetLog を定義します。ILoggable を実装するクラスを表す以下のようなもの: -

以下のような CreateNewOrder メソッドの単体テストを試みています。

有効な Logger が返されるように ILoggerService をモックするにはどうすればよいですか? 現時点では、単体テストで NullReferenceException がスローされます。

私はモッキングを行うために Moq を使用しています。

私は次のように何かをする必要があると想像しています

しかし、テスト クラスに ILoggable を実装させないとどうなるかわかりません。

前もって感謝します。

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

c# - Moq C# での演算子の動作のモック

うまくいきますように。

C# で Moq を使用していくつかのテストを作成中です。私がモックしているオブジェクトの 1 つは、==、>、および < 演算子をオーバーライドしています。

それが可能かどうかは誰にもわかりますか?もしそうなら...これを複製するようにモックオブジェクトを構成する方法はありますか? 私が尋ねる理由は、私が与えられた、深く汚い依存関係を持ついくつかのレガシーコードとして、モックされたスタブを挿入しようとしているからです。

あなたの時間を大切にします

ありがとう

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

.net - この状況で Moq を使用できますか?

Moq を使用してこのオブジェクトをモックするために、どのような回避策がありますか。返されるエラー メッセージは次のとおりです。

注: X509SecurityTokenをモックしようとしています。テスト対象のクラスは次のとおりです。

public class X509IssuerNameRegistry : IssuerNameRegistry { readonly List _trustedSubjectNames = new List();

}

これ(Moqを使用)の回避策はありますか、それともこれを達成するために別のモックフレームワークに目を向けるべきですか?

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

c# - メソッド呼び出しを検証から除外するにはどうすればよいですか?

私はMoqを使用しており、TestInitializeメソッドで次のようにいくつかの期待値を設定しています。

VerifyAll()これらが呼び出されるかどうかは気にしないので、これらの例外をスローしたくありません。

入力する必要のある文字の魔法の組み合わせは何ですか?

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

c# - Moq セットアップによる参照型パラメーターのマッチング

ここまたはここで尋ねられたものと同様の問題がありますが、私の場合、解決策は当てはまらないようです。

次のクラスを検討してください。

テスト用の次のコード ( callslist はデバッグ専用です):

上記のテストは、次の例外で失敗します。

ProductsWebService.GetClassLevel が呼び出されていないのに呼び出されていると確信してgetClassLevelLang.Equalsいます (デバッガーで確認)。さらに奇妙なことに、リストをcalls呼び出す直前に実際の値を確認しましたが、VerifyAll()空です。

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

unit-testing - Moq Verify() メソッド呼び出し回数を使用する場合、失敗したテストのエラー メッセージには、Moq を使用した実際のメソッド呼び出し回数が含まれます

注入された依存関係のメソッドが特定の回数呼び出されることをテストしている次のことを検討してください。

失敗したテストを強制すると、出力は次のようになります。

Moq.MockException: モックで呼び出しが 1 回実行されませんでした: e => e.Blink()

より良いのは次のようなものです:

Moq.MockException: 呼び出しが予期せず 1 回ではなく 2 回実行されました: e => e.Blink()

テストに関連する項目は次のとおりです。

失敗したテストのエラー メッセージで、依存関係のメソッドが呼び出された実際の回数を取得して表示することは可能ですか?

それが重要かどうかはわかりませんが、私は Moq v3.1.416.3 を使用しています (最新ではないことはわかっていますが、私が使用している別のライブラリはまだ Moq 4.x に更新されていません…)

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

c# - 「Any」オブジェクトの MOQ スタブ プロパティ値

メソッドへのすべての引数を「リクエスト」オブジェクトとしてカプセル化し、「レスポンス」オブジェクトを返すパターンに従うコードに取り組んでいます。ただし、MOQ でのモックに関しては、これによりいくつかの問題が発生しました。例えば:

...私のテストでは、キーが与えられたときに顧客を返すようにクエリをスタブしたい

私が望むことはMOQで可能ですか?