在mvc c3中对UI进行单元测试

本文关键字:单元测试 UI 中对 mvc c3 | 更新日期: 2023-09-27 18:10:13

我有一个MVC项目和许多用于测试数据传递的TDD单元测试,这些测试都工作得很好。但是,我现在要为GUI添加一些测试。

我该如何测试如下内容:

如果是首页/page1,按下"next"提交应该会进入"/Page2"。

我仍然不太明白如何对基于UI的功能进行测试。

在mvc c3中对UI进行单元测试

如果你想测试控制器的动作你可以这样做(我在这个测试中假设了很多东西,但我希望你能得到要点)

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

http://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html

http://blog.davidebbo.com/2011/06/unit-test-your-mvc-views-using-razor.html