1

$http.getメソッドを呼び出すサービスを含む AngularJS コントローラーの単体テストをセットアップしようとしています。ただし、$httpBackend.expectGET以前に使用しても$httpBackend.flush()、アプリは GETHTML リソースをテンプレート化しようとしているため、予期しない要求エラーが発生します。

beforeEach(inject(function($injector){
        controller = $injector.get('$controller');
        scope = $injector.get('$rootScope').$new();
        httpBackend = $injector.get('$httpBackend');
        httpBackend.whenGET(UrlPrefix+"/promotions/default.json").respond("yeh");

    }));

 it("should fetch promotions", function() {

        httpBackend.expectGET(UrlPrefix+"/promotions/default.json") ;


        Controller = controller('promotionsController',{

            $scope : scope

        });

        scope.getPromotions();
        httpBackend.flush();
    });
});

私は得ています:

予期しないリクエスト: GET ./template/loader/app-loader.html

これは、コントローラーの前にロードする必要がある私のテンプレートです。テンプレート GETS をバイパスする方法を知っていますか?

4

2 に答える 2

0

私の知る限り、あなたはそれをバイパスすべきだと思います

 $httpBackend.whenGET('./template/loader/app-loader.html').passThrough();
于 2016-04-07T06:22:25.313 に答える