私はhanselman tutorialを使って、入力パラメータとしてhttpcontextをとるメソッドの単体テストを作成するためにMoqを使用しています。moqを使用してhttpcontext.requestを設定する
public static class MvcMockHelpers
{
public static HttpContextBase FakeHttpContext()
{
var context = new Mock<HttpContextBase>();
var request = new Mock<HttpRequestBase>();
var response = new Mock<HttpResponseBase>();
var session = new Mock<HttpSessionStateBase>();
var server = new Mock<HttpServerUtilityBase>();
context.Setup(ctx => ctx.Request).Returns(request.Object);
context.Setup(ctx => ctx.Response).Returns(response.Object);
context.Setup(ctx => ctx.Session).Returns(session.Object);
context.Setup(ctx => ctx.Server).Returns(server.Object);
return context.Object;
}
public static HttpContextBase FakeHttpContext(string url)
{
var context = FakeHttpContext();
context.Request.SetupRequestUrl(url); <---- error here
return context;
}
}
私はcontext.Request.SetupRequestUrl(URL)に、次のエラーを取得しています。
エラー1「System.Web.HttpRequestBase」「SetupRequestUrl」とタイプの「System.Web.HttpRequestBase」最初の引数を受け入れていない拡張メソッド「SetupRequestUrl」の定義が含まれていませんが、見つけることができる(あなたをしています使用するディレクティブまたはアセンブリ参照がありません)。
助けてください。
私は、httpcontextリクエストオブジェクトを設定し、コンテキスト入力パラメータを使ってメソッドに渡し、単体テストを作成できる非常に簡単なチュートリアルを見つけようとしていますが、グーグル内のすべての例は動作しないか、 。助けてください。
ダーリン、どこに表示されていますか?私はそれをグーグルで探しています –
あなたはグーグルで何ですか? Haackedは彼のブログ記事にこの方法を示しました。彼の記事の中で見つけるために 'SetupRequestUrl'のためのCtrl + Fだけです。 –
ダーリン、これまでのところとても良い..ありがとう –