c# – 在内存中模拟LinqToSql存储库以用于单元测试

我正在研究制作一个可以在单元测试中使用的可模拟DataContext.一种方法被描述为here.但是,这种方法的问题是对存储库的更改会立即生效 – 在调用Commit(或任何其他等效于SubmitChanges)之前.另一方面,包含正确的Subm...

我正在研究制作一个可以在单元测试中使用的可模拟DataContext.一种方法被描述为here.但是,这种方法的问题是对存储库的更改会立即生效 – 在调用Commit(或任何其他等效于SubmitChanges)之前.

另一方面,包含正确的SubmitChanges行为将涉及从DataContext复制许多复杂的代码,并可能导致更多错误.

模拟内存存储库(不等待SubmitChanges)的天真实现是否可用于单元测试?这通常是怎么做的?

解决方法:

被测试的类/组件是什么?如果您没有直接测试存储库并且只测试使用存储库的东西,则模拟可以根据您的需要进行基本操作.

但是,如果您希望在组件和存储库之间端到端地执行集成测试,则需要另一种方法,例如.针对测试数据库运行.

本文标题为:c# – 在内存中模拟LinqToSql存储库以用于单元测试

基础教程推荐