Ray*_*Ray 12 unit-testing entity-framework data-access-layer mocking
我是单元测试的新手.但是我如何对使用Entity Framework编写的DAL进行单元测试,这样我就可以确保我的DAL代码工作正常但实际上没有触及数据库?有人可以尽可能多地提供详细信息.
Gar*_*ler 15
如果您想测试您的数据访问层是否正常工作,您确实需要在某个时刻针对数据库进行测试,否则您实际上并未对其进行测试.
DAL 的单元测试是开发中非常常见的令人头痛的问题。在大多数情况下,我建议您跳过它。
如今,大多数 ORM 都提供某种查询语言,无论是 LINQ 还是 HQL,或者其他风格。因为正确的单元测试要求您不实际访问数据库,所以您必须模拟 ORM,而这样做是您能想到的最大的痛苦。在我看来,这不值得。最终,您只需测试是否在代码中编写了正确的查询;您根本得不到回归值,并且可以通过检查代码更好地满足您的目的。
不过,我并不是说您不应该测试 DAL 的使用;而是说您不应该测试 DAL 的使用情况。只是不要尝试单元测试。您仍然应该对您的程序/系统进行一套集成和用户验收测试;让那些人来处理测试您的数据访问。