Ложный сервер перестает работать / не загружается после обновления с угловой версии 1.6.10 до 1.7.3 - PullRequest
0 голосов
/ 28 августа 2018

При обновлении зависимостей до последней версии angular.js ( 1.7.3 ) все модульные тесты перестают работать.

До сих пор мне удавалось ограничить проблему настройкой насмешки, которая выглядит следующим образом:

Содержимое файла my.module.mocks.js :

console.log('This logging appears regardless of the version'); // YES



angular.module('my.module.mocks-testing', ['my.module', 'ngMock']).run(initMockData);
angular.module('my.module.mocks', ['my.module', 'ngMockE2E']).run(initMockData);

 // Function is never executed since 1.7 upgrade
function initMockData($httpBackend) {

    console.log('initMockData function has been executed'); // NO it hasn't since 1.7.x

    $httpBackend
        .whenRoute('GET', '/gate/products/:id')
        .respond(function (method, url, data, headers, params) {
            var productExists = (PRODUCTS_SERVICE_RESPONSE[params.id.toString()] !== undefined),
                successfulResponse = [200, PRODUCTS_SERVICE_RESPONSE[params.id.toString()]],
                errorResponse = [403, {message: 'Forbidden'}];

            return (productExists) ? successfulResponse : errorResponse;
        });

    $httpBackend
        .whenRoute('GET', '/gate/companion-product-groups/:uid')
        .respond(function (method, url, data, headers, params) {
            var companionProductGroupExists = (COMPANIONS_SERVICE_RESPONSE[params.uid.toString()] !== undefined),
                successfulResponse = [200, COMPANIONS_SERVICE_RESPONSE[params.uid.toString()]],
                errorResponse = [403, {message: 'Forbidden'}];

            return (companionProductGroupExists) ? successfulResponse : errorResponse;
        });
}

Поиск по угловому руководству по обновлению не указал на что-нибудь полезное.

Как только я удаляю *.mock.file из karma.conf.js Угловые броски ожидаемой ошибки:

Error: [$injector:modulerr] Failed to instantiate module my.module.mocks-testing due to:
[$injector:nomod] Module 'my.module.mocks-testing' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

Спасибо за любую помощь, ведущую к решению

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...