我有一个服务返回承诺需要单元测试。
var urlQuestions = "user/securityQuestions";
AccountService.getServerDataForUrl(urlQuestions)
.then(function (data) {
$scope.securityQuestions = data;
}, function (error) {
});
这是我的单元测试:
it('submit should call the AccountService.getServerDataForUrl', function () {
var urlQuestions = "user/securityQuestions";
var error;
var deferredSuccess = $q.defer();
spyOn(AccountService, 'getServerDataForUrl').and.returnValue(deferredSuccess.promise);
expect(AccountService.getServerDataForUrl).toHaveBeenCalledWith(urlQuestions);
deferredSuccess.resolve();
$scope.$digest();
expect(error).toBe(null);
expect($scope.securityQuestions).toEqual(data);
});
但是当我运行它时,会出现一些错误:
预期的间谍getServerDataForUrl已被调用[ '用户/ securityQuestions' ]
但从未打过电话。
错误:意外请求:GET user / securityQuestions不再需要预期