GET/internalapi /引用符:は、なぜ私はエラーが表示される...予想外の要求を実行します。私は私の角度アプリで以下のサービスを定義した
services.factory('MyService', ['Restangular', function (Restangular) {
return {
events : { loading : true },
retrieveQuotes : function() {
return Restangular.all('quotes').getList().then(function() {
return { hello: 'World' };
});
}
};
}]);
と私はそれをテストするために、以下のスペックを書いています:
Error: Unexpected request: GET /internalapi/quotes
describe("MyService", function() {
beforeEach(module('MyApp'));
beforeEach(module("restangular"));
var $httpBackend, Restangular, ms;
beforeEach(inject(function (_$httpBackend_, _Restangular_, MyService) {
ms = MyService;
$httpBackend = _$httpBackend_;
Restangular = _Restangular_;
}));
it("retrieveQuotes should be defined", function() {
expect(ms.retrieveQuotes).toBeDefined();
});
it("retrieveQuotes should return array of quotes", function() {
$httpBackend.whenGET("internalapi/quotes").respond({ hello: 'World' });
ms.retrieveQuotes();
$httpBackend.flush();
});
});
はエラーを生成します
私は間違って何をしていますか?
EDIT:
それは、私はそうのようなRestangular
... RestangularProvider.setBaseUrl("/internalapi");
を設定したのだが判明しました。しかし、私はinternalapi/quotes
への呼び出しを偽っていました。 "/"がないことに注目してください。一度私はスラッシュを追加/internalapi/quotes
すべては良かった:)
のベストhttp://stackoverflow.com/questions/14761045/jasmine-tests-angularjs-directives-with-templateurl(私はので、重複としてフラグしませんでした問題はある程度異なって見える)。 –
あなたの質問に解決済みのマークが付いていることを覚えておいてください。 :) –
他の人には明らかかもしれませんが、そうでない場合、これらの 'expectMETHOD'コールは、外部サービスを呼び出す場合には、パスだけでなく完全なURLを渡すことを期待しています。 – kungphu