我是单位测试的新手,所以这可能是一个愚蠢的问题。
Usinf mvc 4我有一个工作正常的观点。
我宣布我的模特在顶部,一切都很好。
然后我将我的模型提取到一个单独的库中,忘了在我的一个视图上更改模型声明,因此崩溃了。
有没有办法对此进行单元测试?
我不想通过视图的页面标题来执行此操作,因为这可能会动态更改...
这是如何正常处理的,或者这是否经常被测试?
答案 0 :(得分:0)
查看Selnium WebDriver或WatiN。有很多教程和方法可以帮助您入门。
答案 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);
}
这只是我运行的一系列测试之一,我会写一篇关于这个主题的博客文章,并在准备好后更新这个答案。
我已经添加了另一个答案,以防前一个答案对其他人有帮助。