0

うまくいけば、誰かが私を正しい方向に向けることができます。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 が浮かんでいますが、それは壊れているように見えるので、同じことをしようとしています。

4

0 に答える 0