При обновлении зависимостей до последней версии 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.
Спасибо за любую помощь, ведущую к решению