簡體   English   中英

如何獲得用於單元測試的數據模板?

[英]How get data templates for unit tests?

我需要為此方法編寫一個單元測試:

public void MethodToTest(Data data)
{
     // ... some actions with data   
}

資料類別:

public class Data
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string Surname { get; set; }
    // ... hundred other properties
}

在我的測試中,我需要一些Data類型的模板對象來對其進行操作。 但是該類具有太多復雜的屬性,無法手動編寫此“模板”。 在實際程序中, Data對象是從DB中檢索的。 在調試時,我可以將其中一些序列化為XML或JSON。 但是然后我需要以某種方式將其反序列化以進行測試。 相信存在解決此類問題的通用模式和工具。 那么什么是正確的方法呢?

如果MethodToTest僅使用Data類的幾個部分,則可以定義一個接口來分離這些屬性:

public interface PersonalData {
  string Name {get; set; }
  int Age {get; set; }
  string Surname {get; set; }
}

public void MethodToTest (PersonalData data) { ... }

並讓Data實現此接口

public class Data: PersonalData { ... }

然后,您可以使用為您的測試實現PersonalData的測試類(或者您可以使用模擬框架來生成PersonalData的實現)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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