簡體   English   中英

使用 angulartics-piwik 添加 angulartics 后,Jasmine 單元測試失敗

[英]Jasmine unit tests fail after adding angulartics with the angulartics-piwik

PhantomJS 2.1.1 (Windows 7 0.0.0)e Service should get by id from Service FAILED
    Error: Unexpected request: GET /users/currentuser
    No more request expected in /static/third-party/angularjs/1.4.7/js/angular-mocks.js (line 1245)

這是我收到的關於我的服務的錯誤消息。 在添加 angulartics 之前,我不會收到這些消息

有沒有辦法確保這些錯誤不會發生

我的測試代碼:

beforeEach(function() {

    module('appHost');
    module('angulartics');

    inject(function($httpBackend, _Service_) {

        Service= _Service_;
        httpBackend = $httpBackend;
    });

});

afterEach(function() {
    httpBackend.verifyNoOutstandingExpectation();
    httpBackend.verifyNoOutstandingRequest();
});

it('should get template by id from Service', function() {

    var expected = {
            "name": "my name",
            "description": "bla bla bla bla",

        };

    var id = "12345";
    httpBackend.expectGET("/data/"+id).respond(expected);
        });

我也經歷過類似的事情。 我的修復只是添加這一行

httpBackend.whenGET(/users/currentuser/).respond(200, '');

在每個塊之前。 然后我遇到了另一個錯誤,因為 angular 試圖獲取它自己的模板。 我通過更改 karma 預處理器配置以去除有問題的前綴來解決這個問題。 如果您需要更多幫助,請告訴我。

嘗試添加httpBackend.flush()

it('should get template by id from Service', function() {

    var expected = {
            "name": "my name",
            "description": "bla bla bla bla",

        };

    var id = "12345";
    httpBackend.expectGET("/data/"+id).respond(expected);
    httpBackend.flush()
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM