私は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