以下是单元测试:
[TestFixture]
public class HomeControllerTests
{
[Test]
public void Index_GET_Asks_For_Index_View()
{
HomeController controller = new HomeController();
ViewResult result = controller.Index();
Assert.AreEqual("Index", result.ViewName);
}
}
基本上我想确保在访问Index操作方法时调用正确的视图。但是,测试失败了,我不知道为什么。
------测试开始:汇编:Demo.Tests.dll ------
测试 'Demo.Tests.HomeControllerTests.Index_GET_Asks_For_Index_View' 失败了:
预期字符串长度为5但为0.字符串在索引0处不同。
预期:“指数”
但是:----------- ^ HomeControllerTests.cs(19,0):at Demo.Tests.HomeControllerTests.Index_GET_Asks_For_Index_View()
这是实际的控制器代码:
public ViewResult Index()
{
ViewBag.Message = "This is just a demo.";
return View();
}
答案 0 :(得分:2)
See this reference with an empty call to View()。以下是该MSDN文章的引用:
View
类的此方法重载返回ViewResult
对象 它具有空ViewName
属性。 如果您正在编写单元测试 控制器动作,考虑到空的ViewName属性 单元测试不采用字符串视图名称。