Если я добавляю вызов flush()
, он дает мне «Ошибка: неожиданный запрос: GET templates/createAccountWithAcme.html». Почему это говорит мне о шаблоне вида и как я могу избежать этого? Это проект Ionic Framework (v 1.0.0 RC2 - AngularJS).
EDIT: Раньше я ошибочно опускал вызов $ httpBackend.when или $ httpBackend.whenGET, который я пробовал. Такая же ошибка с обновленным кодом:
EDIT 2: Подробнее: Это проект Ionic Framework (v1.0.0 RC2), который использует ui-router. Когда я попытался удалить все другие тесты, я все равно получил ошибку, но заметил, что шаблон, на который он жаловался, был последним, указанным в конфигурации маршрутизатора UI (в Ionic маршрутизатор $stateProvider
). Если бы я добавил фиктивное состояние в конец определений состояний, тогда он стал ТО, что тест жаловался. Поэтому я решил, что маршрутизатор должен пытаться загрузить в шаблоны, которые мой тест не ожидал. Я опубликовал исправление.
describe('foo', function() {
var $http, $httpBackend;
$http = void 0;
$httpBackend = void 0;
$http = null;
$httpBackend = null;
beforeEach(module('acme'));
beforeEach(inject(function($injector) {
$http = $injector.get('$http');
$httpBackend = $injector.get('$httpBackend');
$httpBackend.whenGET('http://www.google.com').respond({});
}));
it('should have parsed genres', function() {
console.log('foo');
$http({
method: 'GET',
url: 'http://www.google.com'
}).then(function(response) {
console.log('success: ', response);
}, function(error) {
console.log(error);
});
$httpBackend.flush();
});
});
I s это единственный тест? Также у модуля acme есть исполняемый блок, который выполняется? – Chandermani
@Chandermani это не единственный тест, но это единственный тест, который терпит неудачу. Если я переведу флеш-вызов в другой тест, он тоже терпит неудачу. Это единственное место, где я пытаюсь сделать флеш до сих пор. В моем приложении модуль acme имеет блок выполнения, да, хотя я новичок в карме/жасмине и не знаю, будет ли выполняться этот блок выполнения при выполнении моих тестов. Я так не думал, но предполагал. –
Возможно, существует какой-то тест на маршруте, который получает шаблон, или какой-либо директивный тест, который загружает шаблон директивы. См. Код для ссылки для вышеприведенного шаблона и посмотрите, есть ли соответствующий ему тест. – Chandermani