2014-06-10 5 views
1

Я создал проект модуля тестирования с помощью Visual Studio 2013 Express для Интернета.Исключение типа «Исключение System.TypeInitializationException» произошло в System.Web.Mvc.dll

и мой тест это

[TestMethod] 
    public void it_should_return_the_home_view() 
    { 
     // arrange 
     HomeController controller = new HomeController(); 

     // act 
     ViewResult result = controller.Index() as ViewResult; 

     // assert 
     Assert.IsTrue(string.IsNullOrEmpty(result.ViewName)); 
    } 

Мой HomeController имеет этот метод действия:

public ActionResult Index() 
    { 
     ViewBag.Message = "Welcome!"; 
     return View(); 
    } 

Когда я запускаю тест выше исключение происходит "возвращение View()"

Сообщение об исключении: «Исключение типа« Исключение System.TypeInitializationException »произошло в System.Web.Mvc.dll«

ответ

2

Была такая же ошибка. Поэтому я ссылался на эту сборку в своем модульном тестовом проекте System.Web.WebPages.dll.

Если вы создаете проект MVC с шаблоном по умолчанию VS и проверяете, чтобы добавить проект модуля тестирования, все необходимые ссылки включены.

Для проектов с пустым блоком тестирования, ориентированных на проект MVC 5, лучшим решением является добавление mvc5 через nuget, как предложено here

Смежные вопросы