我们使用C#和Linq2SQL和MS SQL Server数据库。 我们有一个mockdatacontext来进行一些单元测试。 测试时,根据是否使用“真实”或“模拟”数据库,我们发现了两种不同的行为。“模拟”数据库与“真实”数据库行为之间的差异
方案1:真正的数据库
有5个记录中的数据库:
db = realDatabase
db.InsertOnSubmit(new record)
var count1 = db.getTable.Count()
db.SubmitChanges()
var count2 = db.getTable.Count()
COUNT1 = COUNT2 =
方案2:模拟数据库
有5条记录在数据库中:
db= mockDatabase
db.InsertOnSubmit(new record)
var count1 = db.getTable.Count()
db.SubmitChanges()
var count2 = db.getTable.Count()
COUNT1 = COUNT2 =
* “模拟” 数据库已经知道的SubmitChanges之前的新纪录( )被调用,所以它被包括在计数中。为了测试,我们需要两种行为是相同的。
有没有其他人遇到过这个问题,你能提出一个解决方案吗?
你的模拟数据库是如何实现的? – 2009-04-27 20:55:52