ASP.NET MVC3升级 - "尝试按方法[无论如何]访问方法System.Web.Mvc.Controller.View(...)失败"

Rya*_*ers 6 c# asp.net-mvc asp.net-mvc-3

我有一个在MVC2中运行良好的单元测试.测试只是定义控制器上的Action,必要的存根,并测试视图的名称.但是,在升级到MVC3之后,当我调用该方法时,我得到上面的错误.网站MVC3升级工作正常; 我只是因为升级而导致这些单元测试失败.谢谢.

这是我的行动:

public partial class GadgetController
{
    [SetterProperty]
    public IATCGadgetProxy ATCGadgetService { get; set; }

    public ActionResult LoadForums(bool popularOnly, bool myThreads, int itemCount)
    {
        var model = ATCGadgetService.LoadForums(popularOnly, myThreads, itemCount);

        return View("AskTheCommunity-Forums", model);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是测试.它从Action返回视图时失败了.

[TestMethod]
public void Test_Forums_Action_Type()
{
    GadgetController controller = new GadgetController();
    controller.ATCGadgetService = new ATCGadgetServiceStub();
    ViewResult result = controller.LoadForums(false, false, 10) as ViewResult;

    Assert.IsNotNull(result);
    Assert.AreEqual("AskTheCommunity-Forums", result.ViewName);
}
Run Code Online (Sandbox Code Playgroud)

Ofe*_*lig 3

促使我疯狂地将项目升级到 MVC 3 的原因之一就是这些奇怪的、无法解释的错误。直到我发现并非所有项目都升级到 MVC 3(在您的情况下 - 这可能是测试项目)并保留在 MVC 2 中,这导致了一些非常奇怪的行为,例如您所描述的行为。请检查测试项目中 System.Web.Mvc(以及可能相关的程序集)的版本。