我使用Visual Studio 2013 Express for Web创建了一个单元测试项目。
我的测试就是这个
[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"
中答案 0 :(得分:2)
有同样的错误。所以我在单元测试项目中引用了这个程序集 System.Web.WebPages.dll。
如果使用VS默认模板创建MVC项目并检查添加单元测试项目,则包含所有必需的引用。
对于针对MVC 5项目的空单元测试项目,最佳解决方案是按照建议here
通过nuget添加mvc5