为什么我的控制器测试不起作用,视图名称将返回空白

时间:2011-10-12 02:27:28

标签: asp.net-mvc nunit

进行简单测试以验证控制器操作的视图名称:

  var controller = new UserController();

  var result = controller.Login() as ViewResult;

  Assert.AreEqual("Login", result.ViewName);

result.ViewName以“”返回,为什么会这样?

2 个答案:

答案 0 :(得分:1)

您是在控制器登录方法中指定视图名称还是将其保留为默认值(即“”)?

如果将其保留为默认值(这是常见的),则需要测试String.Empty而不是“Login”。

答案 1 :(得分:0)

如果你有这样的观点

 public ActionResult Index()
  {
   return View();
  }

然后ViewName属性将取其默认值“”,如果您指定视图名称,它将正常工作

 public ActionResult Index()
  {
   return View("Index");
  }