2015-09-29 126 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测试。你可以使用类似的东西。