Mein Controller folgende Zeile mit URL zur SitzungssteuerungMocking Request.Url
this.Session["MyUrl"] = Request.Url.ToString();
auf Unit-Test-Projektseite I-Setup wie diese auf dieser letzte Zeile
var fakeHttpContext = new Mock<HttpContextBase>();
var controllerContext = new Mock<ControllerContext>();
controllerContext.Setup(t => t.HttpContext).Returns(fakeHttpContext.Object);
this.controller.ControllerContext = controllerContext.Object;
controllerContext.SetupGet(x => x.HttpContext.Request.Url).Returns(new Uri("/Home/Details", UriKind.Relative));
zuweisen Ich versuche, Setup Request.Url
, um den Wert, den ich auf der Controller-Seite erwarten, zu übergeben.
Alles, was ich als Ergebnis auf Request.Url
bekomme, ist '/Home/Details'
.
Muss ich ganze Url
Objekt innerhalb Anfrage verspotten, um dies zu arbeiten?
Update: ich ein Setup-Session-Objekt in Httpcontext Setup
fakeHttpContext.Setup(x => x.Session["MyUrl"]).Returns("/Home/Details");
aber immer noch das gleiche Problem auftritt.
Sie haben '/ Home/Details' in Ihrem Mock angegeben. Welchen Wert erwarten Sie in der Steuerung? –
Ich erwarte auch/Home/Details auf der Controller-Seite. – user1765862
Nicht was du bekommst? –