2015-09-29 166 views
2

我使用Ionic(AngularJS)製作混合應用程序。 我有一個通用的工廠,它使用WindowsAzureService JS SDK的invoke Api方法。我正在測試我的應用程序。AngularJS單元測試:構造函數測試:Windows Azure調用Api

var mClient = new WindowsAzure.MobileServiceClient(applicationUrl,applicationKey); 

mClient.invokeApi(api, data, header)).done(function (res) { 
    // do something 
}) 

我不使用$http,所以我不能模擬測試的情況下用$httpBackend。我想了解如何使用windowsAzureServices測試api調用。

另外我怎麼spyOn這個構造函數?

Github link to SDK

+0

我對WindowsAzureService一無所知,但最簡單的方法可能是將客戶端包裝爲一個injectabla servicereturning promise,在您的測試中監視該服務,並使其返回已解決/拒絕的承諾,具體取決於你想測試。 –

回答

0

沒有用於移動服務的測試工具。您需要遵循JB Nizet的建議,並創建一個可以模擬您期望的結果的建議。

或者,您可以直接調用API併爲身份驗證設置適當的ZUMO標頭。那麼你可以使用$http$httpBackend。有必要查看Mobile Services GitHub並查看他們如何針對客戶端運行E2E測試。你可以使用類似的東西。