Ich habe James Broome's tutorial verfolgt, um MSpec und einige der damit verbundenen Infrastruktur zu lehren. Ich verwende die neueste Version von MSpec, MSpecMvc und ASP.NET MVC 2, und ich verwende nicht J.P Boodhoo-Bibliotheken.Warum schlägt ViewResult die MSPecMVC-ShoulBeAView-Assertion fehl?
Wenn ich laufen diesen Test
[Subject(typeof(HomeController))]
public class when_the_home_controller_is_told_to_display_the_default_view
{
static string key;
static string message;
static ActionResult result;
static HomeController home_controller;
Establish context =() =>
{
key = "Message";
message = "Welcome to ASP.NET MVC!";
home_controller = new HomeController();
};
Because of =() => result = home_controller.Index();
It should_return_the_home_view =() => result.ShouldBeAView().And().ViewName.ShouldBeEmpty();
}
ich die folgende Fehlermeldung erhalten
die Home-Ansicht zurückkehren sollte: Fehler
vom Typ System.Web.Mvc.ViewResult sein sollte, aber ist von type System.Web.Mvc.ViewResult
Wenn ich durch den Code gehe, steckt er in der Behauptung in dieser Methode ein (In der ActionResultExtensions.cs
Datei von MSpecMVC)
public static ViewResultAnd ShouldBeAView(this ActionResult actionResult)
{
actionResult.ShouldBeOfType<ViewResult>();
return new ViewResultAnd(actionResult as ViewResult);
}
Obwohl, kann ich bestätigen, dass actionResult
vom Typ System.Web.Mvc.ViewResult
. Ich habe die gleichen Tools auf einem anderen Computer verwendet, um andere Tests auszuführen, aber das aktuelle Problem ist nicht aufgetreten.
Hallo Sergi, ich habe tatsächlich James Quellcode und führte die Ersetzung der neuesten Version von MSpec, d. H. 0,3 Ich werde versuchen, sicherzustellen, dass ich gegen 4.0 kompiliere. Danke für deinen Beitrag. – DavidS
Kein Problem. Lass mich wissen, wie es funktioniert hat! :) –
Hey Sergi, was ich beendet habe, war dem zu folgen, was du gesagt hast. Ich stellte sicher, dass ich mit den richtigen Versionen des .NET-Frameworks kompilierte und es funktionierte dieses Mal. :) – DavidS