2011-10-03 47 views
3

我有一个MVC项目和大量的TDD单元测试,用于测试数据的传递,所有工作都很好。 但是,我现在要为GUI添加一些测试。单元测试在MVC3中的UI

我怎么会去测试一些诸如以下:

如果家/第1页,按“下一步”提交应该转到“/第2页”。

我还是不太明白如何在基于UI的功能上做测试。

+0

你想做自动化的UI测试,或“简单”单元测试临屋区t测试路由URL? –

回答

2

如果你想测试你可以做这样的事情 (我假设了很多事情在这个测试,但我的控制装置的动作希望你得到的要领)

[Test] 
public void Page1_Post_IfallDataOK_ShouldSaveAndReturnPage2() 
{ 
    var controller = new HomeController(repository.Object); //repository is: Mock<IRepository> 
    var result = controller.Page1(new MyModel() {MyValue = "test"}); 
    Assert.IsInstanceOfType(typeof(RedirectToRouteResult), result); 
    var redirect = (RedirectToRouteResult)result; 
    Assert.AreEqual("Page2", redirect.RouteValues["action"]); 
    repository.Verify(x => x.Save(It.IsAny<MyModel>()), Times.Once()); 
}