假設我有以下代碼:自動化單元測試的DbContext和集成測試假貨
public Item CoolFunction(int i) {
var result = SomeContext.Item.First(t => t.Id == i);
return result;
}
假設不管是什麼原因,我想單元測試這種方法。在這種情況下,我可以使用MS Fakes來僞造上下文。但是,如果我想測試這個代碼對一個真正的Db,我必須寫另一個單元測試來這樣做。是否有一個(很好或方便或推薦)的方式來編寫一個單元測試,並且可以使用可以測試假上下文或實數據庫的開關?
如果您使用依賴注入,您可以設置IoC容器來注入任何上下文實例。 –
@GertArnold我不認爲這會是一件容易的事情,特別是僞造數據庫將需要大量的準備工作。你知道有誰在網上做過那些優雅的在線嗎? – Husain
[我從來沒有看過嘲笑EF](http://stackoverflow.com/a/13352779/861716)。但是爲集成測試維護一個數據庫也需要謹慎的準備(儘管我認爲它比編寫一個模擬「宇宙」更容易)。如果你不使用它,介紹IoC是一件非常重要的工作。儘管如此,這可能是值得的。 –