私は AngularJS と JS テスト全般に不慣れで、このかなり単純なサービスをテストする方法について頭を悩ますのに苦労しています。バリエーション構成で $httpBackend を 'when' および 'expect' GET と共に使用しようとしましたが、役に立ちませんでした。テストでは、1) deferred.resolve 経由でデータが返されること、および 2) deferred.reject 経由でデータが返されないことを確認する必要があります。誰かが私を正しい方向に向けることができれば、私はとても感謝しています. ありがとう!
ところで:私はジャスミン+テスタキュラーを使用しています
.service('myService', function($http, $q) {
return {
getMyData: function() {
var deferred = $q.defer();
$http.get('/foo/bar.do').success(function(data) {
deferred.resolve(data);
}).error(function(){
deferred.reject();
});
return deferred.promise;
}
}
})