在MVC3应用程序中创建简单的单元测试问题

时间:2012-01-05 15:51:49

标签: c# asp.net-mvc-3 unit-testing tdd

以下是单元测试:

[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();
}

1 个答案:

答案 0 :(得分:2)

See this reference with an empty call to View()。以下是该MSDN文章的引用:

  

View类的此方法重载返回ViewResult对象   它具有ViewName属性如果您正在编写单元测试   控制器动作,考虑到空的ViewName属性   单元测试不采用字符串视图名称。