pin*_*mer 5 unit-testing entity-framework
对于单元测试目的,是否可以这样做:
?
我们不希望我们的单元测试依赖于特定的外部数据库,并且处于特定的状态.
我们也不想在我们的代码和测试中维护两个不同的"世界",即EF对真实数据库运行的真实世界以及我们的测试针对某种EF模拟运行的假工作.
单元测试不应该依赖于任何数据库.对数据库的任何依赖(即使在内存数据库中)都意味着您正在进行集成测试,并且应该针对您将要使用的真实数据库进行集成测试.
我不知道EF的任何XML数据库,但即使它存在,你又回到了你的要求之前:我们也不想在我们的代码和测试中维护两个不同的"世界".每个数据库都有自己的EF提供商,由不同的公司创建.即使是MS SQL Server和MS SQL Server Compact Edition的提供程序也不同,它们之间的切换非常具有挑战性.
你应该做什么: