[英]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.