[英]Unit Test for Singleton Pattern?
假設我正在使用具有類A和B的軟件包p1。我無權訪問軟件包p1的實現。
現在,在我的應用程序中,我隨時都只需要一個A實例。
我在A類的應用程序中創建了一個Singleton類C。
樣品:
public Class ClassC
{
private static readonly ClassA singletonObj = new ClassA();
private ClassC();
public static ClassA ClassC
{
get
{
return singletonObj;
}
}
}
如何對C類進行單元測試以確保為我的應用程序創建了一個實例?
如果您希望A類為單例,則上面的代碼為irrelevent。
您應該這樣編寫A類:
public Class ClassA { private static Singleton instance; private Singleton() {} public static Singleton Instance { get { if (instance == null) { instance = new Singleton(); } return instance; } } //Any other function & members related to ClassA }
為了測試單調,請嘗試在您的代碼中創建幾個ClassA實例。 好的結果是,在每次創建“新實例”時,您都獲得相同的實例,這意味着-您可以有2個實例,這些實例具有不合法的數據-它們全都是指向同一實例的指針。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.