問題タブ [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 投票する
3 に答える
166575 参照

c# - メソッドに渡された戻り値

インターフェイスにメソッドがあります:

これをMOQでモックしたいので、渡されたものは何でも返されます-次のようなものです:

何か案は?

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

unit-testing - モッキングの目的

嘲笑する目的は何ですか?

テストに NUnit を使用し、モックに Moq を使用するいくつかの ASP.NET MVC チュートリアルに従っています。ただし、その嘲笑の部分については少しわかりません。

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

c# - 読み取り専用プロパティでクラスをどのようにモックしますか?

readonly 修飾子を持つクラスの Moq のアイデア:

私はこのオブジェクトをモックしようとしていました:

エラーが返されました:

System.ArgumentException: オーバーライド不可能なメンバー m=>m.ID の設定が無効です。

何か案が?

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

mocking - ActivityExecutionContext をモックするにはどうすればよいですか

このクラスは封印されていますが、CRM ワークフロー開発でメソッドを呼び出すために Moq を使用してモックする必要があります。

ActivityExecutionContext (パブリック コンストラクターを持たない) のインスタンスを作成することで、これを行うか、問題を回避するにはどうすればよいですか?

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

asp.net-mvc - このコードを理解するのに助けが必要

私は単体テストを学ぼうとしています。asp.net mvc 1.0で作成しているメンバーシップの一部を単体テストしようとしています。私は MVC に関する本を読んでいて、うまくいけば誰かが私のために片付けてくれるものについて混乱しています。

フレームワークに Nunit と Moq を使用しています。

質問1:

私はちょっと混乱しています「??」私は本当に前にそれを見たことがありませんか。ここで実際に何が起こっているのかさえわからないように。インターフェイスを渡してから「??」を渡すように マークが発生し、新しい FormsAuthenticationWraper が作成されますか?

質問2。

これがデフォルトのコンストラクターであることは知っていますが、「: this(null,null)」が実行されている理由がわかりません。

それは何を実装していますか?そして、これも何を参照していますか。それに加えて、なぜそれを除外できないのでしょうか。そして、デフォルトのコンストラクターをそのまま貼り付けます。

質問3。

本 (asp.net mvc 1.0 をすばやく) では、Memembership プロバイダーを実装するのにかなりの作業が必要になることについて説明しています。そのため、彼らは moq モックアップ フレームワークを使用して生活を楽にしています。

今私の質問は、彼らが「FormsAuthentication」でmoqを使用していないということです。代わりにインターフェースを作成します

次に、ラッパーを作成します

public class FormsAuthenticationWrapper : IFormsAuthentication { public void SetAuthCookie(string userName, bool createPersistentCookie) { FormsAuthentication.SetAuthCookie(userName, createPersistentCookie); } public void SignOut() { FormsAuthentication.SignOut(); }

そして最後にプロパティ

メンバーシップと同様に、彼らだけが持っています

public static MembershipProvider プロバイダー { get; プライベートセット; }

何を変更するのかもわかりません。この行も何に変更しますか?

フォーム認証 = フォーム認証 ?? 新しい FormsAuthenticationWrapper();

また、FormsAuthentication インターフェイスとラッパーに別のメソッドを追加しようとしました。

public void RedirectFromLoginPage(string userName, bool createPersistentCookie) { FormsAuthentication.RedirectFromLoginPage(userName, createPersistentCookie); }

それでも、何が起こっているのかわかりませんが、ユニットテストは常に失敗します。それを修正するために何をしようとしても関係ありません。

[テスト] public void Test_If_User_Is_Redirected_Back_To_Page_They_Came_From_After_Login() { System.Diagnostics.Debugger.Break();

実際は常に null に戻ります。ViewResult、RedirectResult、RedirectToRouteResult を試しましたが、全員が null に戻ります。最初に奇妙だと思うので、なぜこれが起こっているのかわかりません

ビューを停止せず、リダイレクトを開始します。最初は、この行に到達すると return ステートメントのようなもので、他のコードは実行されないと思いましたが、そうではないように見えるので、これが問題になるかどうかはわかりません。

ありがとう

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

c# - これをセットアップするにはどうすればよいですか (Moq セットアップ)

ユーザーのパスワードの質問を返すコードの一部をテストしたいと考えています。そのため、Moq を使用してメンバーシップ プロバイダーのモックアップを作成しました。

実際のコードのテスト部分だけを示す必要はないと思います。

したがって、これを Nunit で実行すると、次のようになります。

したがって、アクセスしようとしているプロパティが原因であると推測しています。設定方法がわかりません。私はラムダがあまり得意ではありません (そして、ラムダに関するチュートリアルをまだ見つけることができませんでした)。

または、私が完全にマークを逃した場合。

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

asp.net-mvc - 単体テストプロジェクト内でASP.NETMVCURLを生成するにはどうすればよいですか?

別のプロジェクト(テストに使用されるクラスライブラリ)で(特定のASP.NET MVCプロジェクトの)コントローラー、アクション、およびパラメーターに対応するURLを生成するにはどうすればよいですか?

これまでに見つけたのはHtmlHelper.GenerateRouteLinkだけですが、正しいリクエストコンテキストとルートコレクションを渡す方法はまだ見つかりませんでした。

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

c# - 今回、Moqで何が間違っているのですか?

私は再びmoqに問題があり、今回何を間違えたかわかりません。

だから私はデバッガーを段階的に見ていきます、そして私のモックで私が設定したにもかかわらず私は気づきます

ResetPasswordを返す「ねえ、そうではないようです

これが私のユニットテストの一部です:

私のコード

プロバイダーは、ご覧のとおり、モックアップオブジェクトで設定されるプロパティです。メール部分は正常に埋められます。ResetPasswordだけでは、本来あるべきものは返されません。それは私にnullを与えるだけです。

ありがとう

0 投票する
13 に答える
165908 参照

c# - Moqでのout/refパラメータの割り当て

Moq(3.0+)を使用してout/パラメーターを割り当てることは可能ですか?ref

を使用することを検討しましたが、ジェネリックに基づいているため、refパラメーターをサポートしていませんCallback()。また、コールバックでそれを行うことはできますが、パラメーターの入力にAction<>制約( )を設定することもできます。It.Isref

Rhino Mocksがこの機能をサポートしていることは知っていますが、私が取り組んでいるプロジェクトはすでにMoqを使用しています。