我有一個WCF服務,我在其中一個應用程序中使用。一切正常,但我試圖創建一些具有相同API的測試類,但是避免到服務器去獲取他們的信息。例如:覆蓋WCF客戶端方法
// Goes to the server to get a list of names. It might be a while.
MyClient client = new MyClient();
string[] theNames = client.GetSpitefulUsers();
...
// This is what I would use in a test case...
public FakeClient : MyClient
{
...
public override string[] GetSpitefulUsers()
{
// This returns almost immediately, but I can't just override it because the
// 'MyClient' definition is generated code.
return new string[] {"Aldo", "Barry", "Cassie"};
}
}
那麼,什麼是提供這種類型的功能,而不必求助於聰明的黑客,嘲諷圖書館等最簡單的方法?
查找依賴注入/控制 – Dave
的反轉?這正是他們想要的。學習使用庫比在每個測試用例中手工編寫假對象更容易。 –
@Dave非常感謝您的模糊評論。 –