0
角度サービスで$ httpをテストするのは苦労しています。サービスコードは私のモジュールで動作しますが、正常にテストできないようです。私のサービスの構造を変更する必要がありますか? $ httpBackendは以下のいずれの場合でもヒットしません。
マイサービス:
angular.module('myApp')
.service('backendApi', [
"$http"
function(
$http
){
this.getThis = function(getPath) {
return $http({method: 'GET', url: getPath});
};
}
]);
私のテスト:
describe("backend API", function() {
var backendApi;
beforeEach(module('myApp'));
beforeEach(inject(function (_backendApi_, $httpBackend) {
backendApi = _backendApi_;
$httpBackend.when('GET', 'http://jsonplaceholder.typicode.com/posts/1').respond({
'mocked': 'data'
});
}));
it('gets data from API', function() {
expect(
backendApi.getThis('http://jsonplaceholder.typicode.com/posts/1')
).toEqual({ 'mocked': 'data' });
backendApi.getThis('http://jsonplaceholder.typicode.com/posts/1').then(function(data) {
expect(data).toEqual('Not getting here..');
});
});
});