Сделать модуль загрузки JSON Karma AngularJS - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть проект, встроенный в AngularJS, и я хочу добавить модульный тест, используя Jasmine и Karma.Каждый раз, когда я пытаюсь запустить тест, я получаю «Не удалось создать экземпляр модуля», потому что в исходном коде я загружаю локальный файл json, используя XMLHttpRequest, но в тесте та же функция отвечает 404. Json - это файл конфигурации, поэтому, если это не такзагружено все приложение не может быть загружено должным образом.Я пытался с помощью $ httpBackend перехватить запрос GET и ответить с помощью специального json, но кажется, что $ httpBackend не может перехватить запрос.

EDIT

Я думаю, что проблема такая же, как у это

1 Ответ

0 голосов
/ 20 ноября 2018

Вы можете использовать фиктивные данные из файла JSON, взяв их с помощью функции require():

const data: any = require('../../assets/sample-data.json');

Теперь вы сможете использовать объект data в своих тестах.Или Вы можете преобразовать свои данные json в службу Angular (на самом деле может работать константа Angular).Тогда мой внешний файл будет легко найти в тестах, например:

var setupData = $injector.get('SampleData');
$httpBackend.whenGET('/my-service-url').respond(SampleData);
$httpBackend.flush();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...