1

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

Usinf mvc 4 我有一个工作正常的视图。

我在顶部声明了我的模型,一切都很好。

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

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

我不想通过视图的页面标题来做到这一点,因为这可能会动态变化......

这是如何正常处理的,或者这不是通常测试的东西?

4

3 回答 3

0

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

于 2013-06-18T08:35:31.897 回答
0

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

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

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

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

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

于 2013-06-18T19:19:05.087 回答
0

我对每个视图模型进行了一系列测试,包括确保预期属性名称存在的测试。这是一个例子:

/// <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);

}

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

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

于 2013-06-21T07:26:25.527 回答