問題タブ [moq]
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.
asp.net-mvc - Asp.net-mvc コントローラー コンテキストのモック
したがって、コントローラーのコンテキストは、いくつかの asp.net 内部に依存します。単体テスト用にこれらをきれいにモックアップする方法は何ですか? たとえば、「GET」を返すための Request.HttpMethod のみが必要な場合、大量のセットアップでテストを詰まらせるのは非常に簡単なようです。
ネットでいくつかの例/ヘルパーを見てきましたが、古いものもあります。これは、最新かつ最高のものを保持するのに適した場所であると考えました.
最新バージョンの rhino モックを使用しています
c# - インターフェイスの Moq'ing
この回答をグーグル/読んでいる間、ここでも質問すると思いました。
SDK のラッパーであるクラスがあります。このクラスは ILoader オブジェクトを受け入れ、ILoader オブジェクトを使用して、ISmallBusinessInstance オブジェクトにキャストされる ISBAObject を作成します。私は単に Moq を使用してこの動作を模倣しようとしています。
コンパイラ エラーの読み取り: エラー 1 'Moq.Language.IReturns.Returns(Microsoft.BusinessSolutions.SmallBusinessAccounting.Loader.ISbaObjects)' に一致する最適なオーバーロードされたメソッドには、無効な引数がいくつかあります
ここで何が起こっているのですか?ISbaObjects の Mock が問題なく返されることを期待していました。
c# - パラメータの属性変更をモックする-Moqを使用
単体テストができるように、Moqを使用してリポジトリレイヤーをモックしています。
リポジトリレイヤーのInsertメソッドは、db挿入が成功すると、エンティティのIdプロパティを更新します。
Insertメソッドが呼び出されたときにエンティティのIdプロパティを更新するようにmoqを構成するにはどうすればよいですか?
リポジトリコード:-
単体テスト:-
ContractServiceクラス(WCFサービスコントラクト)からの実装スニペット。
この情報が少し不足している可能性があることをお詫び申し上げます。私は今日、moqとモックフレームワークを学び始めました。交流
c# - MOQ ドキュメントはどこにありますか?
MOQ の包括的なドキュメントはどこにありますか? 私はあざけることから始めたばかりで、頭を悩ませています。http://code.google.com/p/moq/wiki/QuickStartのすべてのリンクを読みましたが、チュートリアルや簡単な紹介が見つからないようです。
Rhino Mocks も簡単に調べましたが、非常に紛らわしいことがわかりました。
はい - Stephen Walthers の記事を読みました - とても役に立ちました。私もリンクをたどりました。http://www.bestechvideos.com/2008/06/08/dimecasts-net-introduction-to-mocking-with-moq [壊れたリンク]のビデオを見ることができないようです。
具体的には、モックされたクラスからイベントが発生したかどうかを判断しようとしています。QuickStarts ページのイベントの例をコンパイルすることができません。Google グループで Daniel は、CreateEventHandler は type のイベントしか処理できないと説明しましたがEventHandler<TEventArgs>
、それでもコードをコンパイルすることはできません。
より具体的には、を実装するクラスがありますINotifyChanged
。
PropertyChanged
クラスをモックして、イベントが発生したかどうかをテストするにはどうすればよいですか? public event EventHandler<PropertyChangedEventArgs>
このエラーが発生するため、イベントを書き直すことはできません。
エラー 1 'CoreServices.Notifier' はインターフェイス メンバー System.ComponentModel.INotifyPropertyChanged.PropertyChanged' を実装していません。「CoreServices.Notifier.PropertyChanged」は「System.ComponentModel.INotifyPropertyChanged.PropertyChanged」を実装できません。「System.ComponentModel.PropertyChangedEventHandler」の一致する戻り値の型がないためです。
.net - moq-優れたサンプルアプリ
moqのチュートリアルについていくつか質問があったことを私は知っています。しかし、ado.netを使用するn層ビジネスアプリケーションのコンテキストでmoqを使用するサンプルアプリがあるかどうか疑問に思っています。
チュートは良いと思いますが、すべてをまとめて全体像を把握しているわけではないようです。そのため、全体像をまとめたサンプルアプリを探しています。
また、データアクセス層のロジックのモックとテストを具体的に扱った例が少し不足していると思います。
乾杯アンソニー
unit-testing - Moqは式を渡すIRepositoryに期待します
このコードを使用して、テストしているメソッドの動作を確認しています:
_repository は次のように定義されます。
テストを実行すると、次の例外が発生します。
式 t => (t.STATUS_CD = "A") はサポートされていません。
式を Expect メソッドに渡すことができない場合、この動作をテストする方法を教えてください。
ありがとう!!
c# - COMオブジェクトをモックする
私は、文字列のみを取得して返すことができるCOMオブジェクトのラッパーに取り組んできました。COMオブジェクトのインターフェイスは次のようになります。
これで、次のような基本的な機能をまとめたクラスを作成しました。
ここで、毎回実際のCOMオブジェクトを作成せずに、これらのクラスの単体テストを実行し、ワールドを設定してからテストを実行したいと思います。そのため、モックオブジェクトの使用を検討してきましたが、この状況でモックをどのように使用するかについて少し混乱しています。
私はMoqの使用を計画しているので、このテストを次のように作成しました。
これは私のCOMオブジェクトをモックする正しい方法ですか?eval関数に送信される文字列のこの真実性はどのように正しいのでしょうか?または私はそれをすべて間違っていますか?
c# - Moq マルチインターフェースの質問
これはマルチインターフェイスの問題である場合とそうでない場合がありますが、私は次のようなことをしています:
実行時の DoSomething 行で次のようになります。
MyTest (TestFixtureSetUp): System.Reflection.TargetInvocationException : 呼び出しのターゲットによって例外がスローされました。
----> System.TypeInitializationException : 'IInterface1Proxy184f83d417624e05b450fa40c2c5d35c' の型初期化子が例外をスローしました。
----> System.BadImageFormatException : 不正な形式のプログラムをロードしようとしました。(HRESULT からの例外: 0x8007000B)
これは、適切な Expect コードを持っていないことと関係がありますか?それとも、モックの複数のインターフェイスに関連していますか?
c# - 単体テストでモック オブジェクトを使用しながら、コード カバレッジを使用するにはどうすればよいですか?
現在、モック オブジェクトの概念を単体テストに導入し始めています。特に、Moq フレームワークを使用しています。しかし、私が気付いたことの 1 つは、このフレームワークを使用してテストしているクラスのコード カバレッジが突然 0% になっていることです。
クラスをモックしているだけなので、実際のクラス自体を実行していないことがわかりました....しかし、これらのテストを作成し、コードカバレッジが正確な結果を返すようにするにはどうすればよいですか? モックを使用する一連のテストと、クラスを直接インスタンス化するための一連のテストを作成する必要がありますか。
気づかないうちに何か間違ったことをしているのではないでしょうか?
「MyClass」というクラスを単体テストしようとしている例を次に示します。
私が何をすべきか知っている人はいますか?
c# - インデックス付きプロパティを MOQ する方法
インデックス付きプロパティへの呼び出しをモックしようとしています。つまり、次をmoqしたいと思います:
また、セッター値
アプリが使用するクラスの機能をモックする必要があるため、これを行っています。
MOQでこれを行う方法を知っている人はいますか? 私は次のバリエーションを試しました:
しかし、それはコンパイルされません。
MOQで達成しようとしていることは可能ですか?これを行う方法の例はありますか?