問題タブ [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.

0 投票する
7 に答える
40097 参照

asp.net-mvc - Moqを使用してセッションオブジェクトコレクションをどのようにモックしますか

shanselmannのMvcMockHelperクラスを使用してMoqを使用してHttpContextのものをモックアップしていますが、MVCコントローラーでモックされたセッションオブジェクトに何かを割り当てて、検証のために単体テストで同じ値を読み取ることができるという問題があります目的。

私の質問は、モックセッションオブジェクトにストレージコレクションを割り当てて、session ["UserName"] ="foo"などのコードが"foo"値を保持し、単体テストで使用できるようにする方法です。

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

unit-testing - Moq と Linq-to-Sql の CRUD 単体テストの書き方

私は Moq と単体テストに参加したばかりなので、これが明らかな場合はご容赦ください (SO をすばやく検索しても、このようなものは表示されませんでした)。

私は次の提案されたメンバーとのインターフェースを持っています:

この機能の単体テストを書きたいと思います。テスト クラスには、次のように宣言された Moq リポジトリがあります。

この新しい望ましい動作を含めるには、モック リポジトリの宣言をどのように変更する必要があるか、または別の Moq を作成する必要があります (どのようにそれを行うか)。

モックを作成した後は、単体テストの導出がはるかに簡単になると思いますが、ヒントは大歓迎です。

どうもありがとう、

ケブドッグ

0 投票する
8 に答える
92351 参照

c# - メソッドがMoqで呼び出されなかったことを確認する方法は?

メソッドがMoqで呼び出されなかったことを確認するにはどうすればよいですか?

AssertWasNotCalled のようなものはありますか?

更新: バージョン 3.0 から、新しい構文を使用できます。

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

c# - Rhino Mocks で空のリストをデフォルトとして返す

コードでの null チェックを避けるために、メソッドが結果を返さない場合は、常に null の代わりに空のリストまたは配列を返すことをお勧めします。

Rhino Mocks はオブジェクトのデフォルト値 (リストと配列の場合は null) を返すため、多くの場合、null チェックを再度追加するか、リストを返すことを想定してモックをセットアップする必要があります。

この動作で Rhino モックを構成または拡張する方法はありますか?

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

c# - Moq に属性をモック クラスに追加させることはできますか?

プロジェクトにコマンドライン インターフェイスを作成しています。ユーザーが「create project foo」と入力すると、「project」を担当するコントローラーが検索Createされ、最初の引数として「foo」を渡してメソッドが呼び出されます。

属性とリフレクションに大きく依存しています。コントローラーは次のようになります。

次のように、パーサーの単体テストで Moq を使用したいと思います。

インターフェイスに属性を追加しても機能しないようです。それらは派生クラスに継承されません。

モックされているクラスに Moq に属性を追加させることはできますか?

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

c# - Moq を使用した HttpContext Response.Output のモック

私は、Hanselman のブログにある MvcMockHelpers クラスを使用して、モック化された HttpContext を渡してきました。必要な認証データを追加するために多少拡張しましたが、ほとんどの場合、これは素晴らしいものでした.

私たちが抱えている問題は、コントローラーに与えているコンテキストの HttpContext.Response.Output に null 値が含まれていることです。これにより、いくつかの例外がスローされます。これを機能させるために何を追加すればよいかわかりません。

以下は、既存の FakeHttpConext() メソッドです。

これは爆発メソッドです (MVC Contrib プロジェクトの XmlResult の一部です):

context.HttpContext.Response.Output が参照されたときに null 例外を防ぐために、FakeHttpContext メソッドに何を追加する必要がありますか?

明確化: 私が探しているソリューションは、Rhino ではなく Moq で実行する必要があります。質問のタイトルでMoqについて言及しましたが、質問の本文ではそれを無視しました。混乱して申し訳ありません。

解決策 次の 2 行のコードを FakeHttpContext() メソッドに追加しました。

これにより、null 例外が防止されます。長期的には良い答えかどうかはわかりませんが、今のところうまくいきます.

0 投票する
6 に答える
78886 参照

c# - Moqを使用して拡張メソッドをモックするにはどうすればよいですか?

私は拡張メソッドの結果に依存するテストを書いていますが、その拡張メソッドの将来の失敗がこのテストを破ることを望んでいません。その結果をあざけるのは当然の選択のように見えましたが、 Moqは静的メソッド(拡張メソッドの要件)をオーバーライドする方法を提供していないようです。Moq.ProtectedとMoq.Stubにも同様のアイデアがありますが、このシナリオでは何も提供されていないようです。私は何かが足りないのですか、それとも別の方法でこれを行う必要がありますか?

これは、通常の「オーバーライド不可能なメンバーに対する無効な期待値」で失敗する簡単な例です。これは、拡張メソッドをモックする必要があるという悪い例ですが、そうする必要があります。

代わりにIsolatorを使用することを提案する可能性のあるTypeMockジャンキーについては、TypeMockが目隠しをして醜い仕事をすることができるように見えるので、努力に感謝しますが、予算はすぐには増えません。

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

c# - Returns() で値を組み立てるときに、Expect() の元の引数にアクセスする

Returns オブジェクトをアセンブルするときに、モックされた期待値を呼び出すために使用されるパラメーターにアクセスすることは可能ですか?

関連するオブジェクトのスタブを次に示します。そのため、コレクションをモックしようとしています。

モック化されたオブジェクトに使用される CollectionValues のテスト リストが与えられた場合、既存の ID と存在しない ID を組み合わせる呼び出しを含む、その CollectionValues のリスト内の ID の可能なすべての順列を処理する期待をどのように設定しますか? ? 私の問題は、1 回の呼び出しで考えられるすべての期待値を設定したいという欲求から来ています。元のパラメーターにアクセスできない場合は、特定の呼び出しで毎回テストしたい正確な期待値を簡単に設定できます。

これが私がやりたかったことです。GetById (It.IsAny 制限を修飾したもの) を呼び出すために使用されるパラメーターにアクセスできると便利な場所を表します。

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

moq - Moq を使用したデータセットのモック

私は Moq を使い始めようとしていますが、必要なことを行うための適切なリソースを見つけるのに苦労しています。

ストアド プロシージャを介してデータセットを返す Get メソッドを持つデータ インターフェイス クラスがあります。これはコードが書かれた方法であり、現時点では変更できないため、この方法で行う必要があります。

データセットをモックしてデータを返すことでこのクラスをテストしたいので、実際にデータベース呼び出しを行う必要はありません。

誰かがこれを行っていますか?もしそうなら、どこでそれを始めるのが良いですか?

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

.net - CALEventAggregatorをMoqでモックする

複合アプリケーションライブラリのイベントアグリゲーターを使用しており、単体テストで使用するために、 IEventAggregatorインターフェイスのモックを作成したいと思います。

このタスクにMoqを使用することを計画していますが、これまでのテストの例は次のようになります。

これは正常に機能しますが、コードで発生する可能性のあるすべてのイベントタイプ(SomeOtherEvent、SomeThirdEvent、...)に対して空のモックを定義する必要を回避する賢い方法があるかどうかを知りたいですか?もちろん、すべてのイベントを[TestInitialize]メソッドでこのように定義することもできますが、もっと賢い方法があるかどうか知りたいですか?:-)