Карма + Жасмин + Ионный Параллелизм

0

Я делаю модульные тесты с помощью Karma/Jasmine для ионного приложения. У меня есть.js, называемый initApp.js с этим кодом:

function initFactoryString() {
    if (angular.isUndefined(thiz.string_list)) {
        $http.get(url + 'strings/strings.json').success(function (response) {
            $rootScope.static_strings = response;
        });
    }
};

ionic.Platform.ready(function () {
    initFactoryString();
});

initFactoryString() загружает файл JSON со строками приложения. С другой стороны, у меня есть тест на жасмин для фабрики webservices с такими характеристиками:

it('Petición sin fechas', function() {
        $httpBackend.expectGET('urlService').respond('dataResponse');
        $webServices.getAvailableDates(1234);
        $httpBackend.flush();
});

Если я выполню Karma, появится эта ошибка:

Error: Unexpected request: GET strings/strings.json
Expected GET urlService

Очевидно, что проблема связана с js-параллелизмом, потому что initApp.js был выполнен до моего теста на жасмин, но ответ решается в то же время в тестовом прогоне. Как я могу сделать, в случае теста, отключить вызов initFactoryString() автоматически?

  • 0
    Вам следует либо $http.get(url + 'strings/strings.json') reqyest, либо заглушку ionic.Platform.ready . Файлы вроде initApp.js вообще не должны быть включены в этот тест (и, возможно, Ionic).
Теги:
ionic-framework
jasmine
karma-runner

1 ответ

0

вы можете использовать

$httpBackend.when('GET','urlService').respond('dataResponse');
  • 0
    Не могли бы вы добавить объяснение, чтобы мы поняли, что делает ваш код?
  • 0
    Спасибо за ваш ответ, я решил с этим: var strings = readJSON('www/strings/strings.json'); $httpBackend.when('GET','strings/strings.json').respond(strings);
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню