我們使用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