在MVC3中对UI进行单元测试

时间:2011-10-03 11:59:33

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

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

我将如何测试以下内容:

如果是home / page1,按“next”提交应该转到“/ Page2”。

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

2 个答案:

答案 0 :(得分: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());
}

答案 1 :(得分:1)