[英]C# Unit Test: Retrieve Data from Repository
所以我必須為我的數據檢索創建一個單元測試,我想要獲得的對象非常大。 我有“GetbyId”的存儲庫(在那里我們檢索了dataobject和映射)。 我發現創建2個單元測試會更好:
我們已經創建了一些測試示例,並且我正在檢查具有測試實體的已保存xmls的實體,因此我們非常靈活。 我的問題在於映射,因為我的模型確實有一些接口,我無法對其進行序列化,我不想對每個示例解決方案進行硬編碼(因為它們也非常多)
有誰知道如何更好地測試映射器?
Ps:我知道,我非常擅長解釋事情,對不起。
編輯:
這里有一個例子:由於IContact在Person中我無法序列化它所以我不知道如何輕松地檢查它(這個模型是一個例子,真實的是大約200行大而不計算接口中的子行)
public Person: IPerson
{
public Name {get; set;}
public IContact {get; set;}
}
public Contact: IContact
{
public Phone {get; set;}
}
通常我會使用Compare.net來處理這些情況:
//arrange:
var expected = new Person{ Name = "Alice", Contact = new Contact(){Phone = ""}};
CompareLogic compareLogic = new CompareLogic();
//act:
var result = target.GetbyId(1);
//assert:
Assert.IsTrue(compareLogic.Compare(expected, result).AreEqual);
另一個選擇是使用Fluent Assertions (對於完整的披露,我沒有使用此工具的經驗...)
還有一個選擇是創建一個用於斷言的輔助方法,然后在每個測試中重用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.