うまくいけば、誰かが私を正しい方向に向けることができます。Karma を実際の $http 呼び出しでテストするために、Angular モックからすべての $httpbackend を削除しました。私のモカテスト内で私が行う場合:
it('何かを返すべき', function(done) {
inject(function($http) {
$http.post('http://localhost:3000/api/hello', {}).success(function(err) {
done();
});
});
});
上記は問題なく動作しますが、ホスト/投稿を指定する必要があります。これで、サービス内でまったく同じ呼び出しを行うサービスができましたが、/api/hello しかありません。Angular アプリに関する限りローカルであるため、サーバーはありません。
it('should return something', function(done) {
$scope.$apply(function() {
myService.doCall(function(res) {
done();
});
});
});
それは機能せず、WARN [web-server]: 404: /api/hello が表示されます
サービスは次のとおりです。
angular.module('myApp').factory('myService', function($http) {
return{
doCall: function(callback) {
$http.get('/api/hellos').success(function(data) {
callback(data);
});
}
};
});
karma.conf でホスト/ポートを設定しようとしましたが、何もしないようです。プロキシも機能していないようです。
ホスト/ポートを設定する場所に関する提案は?
または、Karma + real $http に関する別の提案はありますか? angular-spec gist が浮かんでいますが、それは壊れているように見えるので、同じことをしようとしています。