Я следовал учебному пособию Джеймса Брума , чтобы научить себя MSpec и некоторой связанной инфраструктуре. Я использую последнюю версию MSpec, MSpecMvc и ASP.NET MVC 2, и я не использую библиотеки J.P Boodhoo.
Когда я запускаю этот тест
[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();
}
Я получаю следующую ошибку
должен вернуть вид из дома: Ошибка
Должен иметь тип System.Web.Mvc.ViewResult, но должен иметь тип System.Web.Mvc.ViewResult
Когда я делаю шаг по коду, он соглашается с утверждением в этом методе (в ActionResultExtensions.cs
файле MSpecMVC)
public static ViewResultAnd ShouldBeAView(this ActionResult actionResult)
{
actionResult.ShouldBeOfType<ViewResult>();
return new ViewResultAnd(actionResult as ViewResult);
}
Хотя я могу подтвердить, что actionResult
имеет тип System.Web.Mvc.ViewResult
. Я использовал те же инструменты на другом компьютере для запуска других тестов, но не сталкивался с текущей проблемой.