【发布时间】:2013-04-25 02:38:39
【问题描述】:
我们在我们的 ASP.NET MVC Web 应用程序中广泛使用AutoMapper,并使用this question 中规定的 AutoMapViewResult 方法。所以我们有如下所示的操作:
public ActionResult Edit(User item)
{
return AutoMapView<UserEditModel>(View(item));
}
如果请求的映射尚未配置,这会在应用程序中创建隐藏的故障点 - 因为这不是编译时失败。
我正在考虑采取一些措施来测试这些映射。由于这需要测试实际的 AutoMapper 配置,我认为这应该作为集成测试的一部分来完成?这些测试应该按控制者还是按实体构建?自动解析对 AutoMapView 的所有调用的可能性如何?
请注意,我们已经在使用 AssertConfigurationIsValid 测试 AutoMapper 配置是否有效,这是我要处理的缺少个映射。
【问题讨论】:
-
您不能为您的操作方法编写
单元测试吗?我错过了什么吗? -
@Brook - 这不能真正通过单元测试来测试,因为它涉及外部代码,例如实际的 AutoMapper 配置。正常的单元测试模拟 AutoMapper。
-
这就是为什么您应该在编写依赖于它们的代码之前测试您的 Automapper 配置。集成测试始终遵循单元测试。
标签: asp.net-mvc testing integration-testing automapper