类型' System.TypeInitializationException'的例外情况发生在System.Web.Mvc.dll中

时间:2014-06-10 08:21:12

标签: asp.net-mvc

我使用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"

1 个答案:

答案 0 :(得分:2)

有同样的错误。所以我在单元测试项目中引用了这个程序集 System.Web.WebPages.dll。

如果使用VS默认模板创建MVC项目并检查添加单元测试项目,则包含所有必需的引用。

对于针对MVC 5项目的空单元测试项目,最佳解决方案是按照建议here

通过nuget添加mvc5