如果你寫了一個方法
public static string ToMappingString(this Widget obj)
然後,你可以很容易地通過認證試驗(www.approvaltests測試此。COM或的NuGet)
這裏有一個視頻:http://www.youtube.com/watch?v=vKLUycNLhgc
但是,如果你正在尋找測試「我的對象保存和retrive自己」 那麼這是「基於理論測試」
的一個完美的地方
理論爲基礎的測試 大多數單元測試採取
Given A,B expect C
理論的形式爲基礎的測試是
Given A,B expect Theory
這樣做的好處是沒有必要擔心哪些特定形式的& B都因爲你不需要知道C,所以任何隨機數生成器將工作。
例1:測試加減法
通常你會喜歡
Assert.AreEqual(5, Add(2,3));
Assert.AreEqual(9, Add(10,-1));
Assert.AreEqual(10, Add(5,5));
Assert.AreEqual(7, Subtract(10,3));
不過的東西,如果你寫了一個理論測試它看起來像
for(int i = 1; i < 100; i++)
{
int a = random.Next();
int b = random.Next();
Assert.AreEqual(a, Subtract(Add(a,b),b, string.Format("Failed for [a,b] = [{0},{1}], a,b));
}
現在你理解基於理論的測試,你試圖測試的理論是
Given Model A
When A is stored to the database, and retrieved the resulting object is equal to A
好吧,我不喜歡EF,如果可能的話評估使用NHibernate的可能性,用NHibernate你可以測試你的映射真的很容易 – Jupaol 2012-04-25 23:56:41
@Jupaol有用的知識,我們同時使用EF和NH,並有我們的問題 – STW 2012-04-25 23:57:31