单元测试以确保我的视图不会崩溃

时间:2013-06-18 07:54:18

标签: unit-testing c#-4.0 asp.net-mvc-4

我是单位测试的新手,所以这可能是一个愚蠢的问题。

Usinf mvc 4我有一个工作正常的观点。

我宣布我的模特在顶部,一切都很好。

然后我将我的模型提取到一个单独的库中,忘了在我的一个视图上更改模型声明,因此崩溃了。

有没有办法对此进行单元测试?

我不想通过视图的页面标题来执行此操作,因为这可能会动态更改...

这是如何正常处理的,或者这是否经常被测试?

3 个答案:

答案 0 :(得分:0)

查看Selnium WebDriverWatiN。有很多教程和方法可以帮助您入门。

答案 1 :(得分:0)

我通常会在控制器中为每个方法添加一个非常简单的测试,以检查它是否返回有效的ActionResult。

[TestMethod]
public void TestMyController()
{
  // Arrange.
  var controller = new MyController();

  // Act.
  var result = controller.MyMethod() as ViewResult;

  // Assert.
  Assert.IsNotNull(result);
}

我还为每个View模型添加了一些测试,因为当它们位于单独的类库中时,我遇到了这些问题,但这不在您的问题范围内。

答案 2 :(得分:0)

我针对每个View Model运行了一系列测试,包括测试以确保预期的属性名称存在。这是一个例子:

/// <summary>
/// Check expected properties exist.
/// </summary>
[Test]
public void Check_Expected_Properties_Exist()
{

  // Get properties.
  PropertyInfo propInfoFirstName = typeof(ViewModels.MyModel).GetProperty("FirstName");
  PropertyInfo propInfoLastName = typeof(ViewModels.MyModel).GetProperty("LastName");

  // Assert.
  Assert.IsNotNull(propInfoFirstName);
  Assert.IsNotNull(propInfoLastName);

}

这只是我运行的一系列测试之一,我会写一篇关于这个主题的博客文章,并在准备好后更新这个答案。

我已经添加了另一个答案,以防前一个答案对其他人有帮助。