2011-10-03 38 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()); 
}