나는 karma + jasmine을 사용하여 서비스 약속을 테스트하는 방법을 알아 냈지만 성공하지는 못했습니다. 지금까지 내가 결과 오류가 무슨 짓을 :angularjs 1 and jasmine, 서비스 약속 테스트
PhantomJS 2.1.1 (Mac OS X 0.0.0) The FetchData service should fetch data FAILED
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
fetchData 서비스 :
module.exports = function($http) {
return {
getFoo: function(id) {
return $http.get('https://api/' + id)
.then(function(result) {
return result.data;
});
}
}
};
테스트 : 나는 그것을 할 수 누락 될 수 있습니다 뭔가가 있는지 궁금
describe('The FetchData service', function() {
var dataFetcher;
beforeEach(angular.mock.module("myApp"))
beforeEach(inject(function(_dataFetcher_) {
dataFetcher = _dataFetcher_;
}));
it('should fetch data', function(done) {
var testData = function(res) {
expect(res.success).toBe(true);
};
var failTest = function(error) {
expect(error).toBeUndefined();
};
dataFetcher.getFoo(id)
.then(testData)
.catch(failTest);
});
});
이걸 이해하도록 도와주세요.
고마워요!
https://docs.angularjs.org/api/ngMock/service/$httpBackend – Phil