我正在測試Web服務客戶端,並且需要隔離對Web服務的調用。如何使用Microsoft Fakes隔離Web服務而不使用依賴注入
我已經被告知我們不能使用依賴注入。如何隔離web服務,以便測試調用該服務的業務邏輯。由於我無法控制web服務,因此我需要確保服務返回的價值。
我被告知使用微軟假貨我可以做到這一點,但不知道如何定義假貨。
,我測試代碼的簡化版本是:
var client = new Serviceprovider.ServiceProxies.PromoService.PromoServiceClient();
client.ClientCredentials.Windows.AllowedImpersonationLevel = client.Open();
Promo promoFromMaps = client.GetPromoById(exitingPm.NetworkId, true, true, true, exitingPm.MapsPromoId);
我要控制存儲在promoFromMaps值是能夠測試後發生的業務邏輯。
謝謝你的時間。
你有沒有試過這個:http://code.msdn.microsoft.com/windowsdesktop/Unit-Test-a-having-404c2a18 – jparram
看起來你需要填充PromoServiceClient所需的成員。 'ShimPromoServiceClient.GetPromoByIdInt32BooleanBooleanBooleanInt32 =()=>新的Promo()'的東西,儘管你可能想在內部填充一些東西。我無法確切地告訴你需要隔離什麼部分,以及你正在測試什麼部分。我也會推遲一點,因爲即使這樣做,墊片自然也是很醜的代碼。 – Magus