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