2013-12-10 91 views

回答

0

靜態嘲笑

我希望你沒有與Strict vs Non-Strict mocks. 混淆至於Moq關注,靜態模擬的功能irrelvent。 我認爲它或多或少地繼承了其中一種較舊的編程語言,並且人們將其稱爲
手寫的嘲諷。靜態模擬是您創建模擬對象的舊方式。這是handwritten or hardcoded/static嘲笑。

internal class MyMockDataSource : IDataSource 
{ 
    #region IDataSource Members implementation 
    … 
    #endregion 
} 

然後,您可以注入MyMockDataSource到您的SUT(測試系統)進行驗證,或者僞造容器,如果它是一個存根(即StubDataSource)。 ** Stub vs Mock *

但靜態模擬變得非常繁瑣,因爲這麼多重複的代碼,並且維護這個額外的代碼也不容易。它適用於簡單的應用程序,但不適用於大中型應用程序。

動態嘲笑

這是Dynmaic嘲諷已被使用的位置。當然,有很多關於如何使用Moq創建動態模擬的示例,我不會經過這些,因爲您可以在網上輕鬆找到它們。