0
我有一個方法如下,使用NamaspaceManager類的靜態方法。C#如何單元測試調用具有外部依賴性的靜態方法的方法?
public long GetCount(string name)
{
var namespaceManager = NamespaceManager.CreateFromConnectionString(this.queueConfig.ConnectionString);
return namespaceManager.GetQueue(name).MessageCountDetails.ActiveMessageCount;
}
由於該函數對NamespaceManager類有很強的依賴性,因此在單元測試期間,它期望我提供一個有效的連接字符串。此外,我沒有任何控制NamespaceManager類,因爲它帶有NuGet包。我如何重構它以使其可以單元測試?
但NamespaceManager需要一個有效的連接字符串到隊列。我想包裝NamespaceManager但沒有必要的控制。我將不得不在每個單元測試運行期間保持一個隊列,這是不可行的。 – vmn
啊,我看到你的問題。那麼我認爲這個答案是你最好的選擇。 https://stackoverflow.com/a/40723011/845655 – DeanOC