在MVC3中针对UI的单元测试

3
我有一个MVC项目和很多用于测试数据传递的TDD单元测试,这些测试都工作正常。然而,我现在要添加一些GUI测试。
我该如何测试下面的内容:
如果在home/page1页面,点击“next”按钮应该跳转到“/Page2”。
我仍然不太理解如何对基于UI的功能进行测试。

你想要进行自动化UI测试,还是测试路由URL的“简单”单元测试? - Ofer Zelig
2个回答

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接