簡體   English   中英

C#單元測試:從存儲庫中檢索數據

[英]C# Unit Test: Retrieve Data from Repository

所以我必須為我的數據檢索創建一個單元測試,我想要獲得的對象非常大。 我有“GetbyId”的存儲庫(在那里我們檢索了dataobject和映射)。 我發現創建2個單元測試會更好:

  1. 檢索數據對象
  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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM