Модульные тесты с жасмином завершаются неудачно после добавления angulartics с 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)

это сообщение об ошибке, которое я получаю за свои услуги. Перед добавлением ангуляртиков я бы не получил эти сообщения

Есть ли способ убедиться, что эти ошибки не происходят

мой тестовый код:

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);
        });

2 ответа

Я тоже испытал нечто подобное. Мое исправление было просто добавить эту строку

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

в перед каждым блоком. Затем я получил еще одну ошибку, так как angular пытался получить свои собственные шаблоны. Я исправил это, внеся изменения в конфигурацию препроцессора кармы, чтобы убрать префикс, о котором идет речь. Дайте мне знать, если вам нужна дополнительная помощь по этому вопросу.

Попробуй добавить 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()
});
Другие вопросы по тегам