У нас есть проект (angular) и несколько юнит-тестов для него (jasmine+sinon), которые при минимизации создают некоторые проблемы. Для фактического кода мы решили эти проблемы путем внедрения с использованием статически типизированного массива строк, например. ['locationService', 'etcService']. К несчастью для юнит-тестов, у минификации есть еще несколько проблем, которые нужно решить. В качестве примера:
module(function($provide){
$provide.service('etc..',...);
}
Код выше сразу становится непригодным для использования, поскольку переменная провайдера переименовывается во что-то вроде «a». Я попытался немного настроить его, обернув функцию чем-то вроде ниже:
function injectTest($provide){
// do the same stuff
}
injectTest.$inject = ['$provide'];
которое было рекомендованным решением в некоторых других онлайн-сообщениях. Проблема в том, что с модулями это действительно не работает. Я пробовал оба:
module(angular.injector().invoke(injectTest)); // which results in 'Unknown provider: $provideProvider <- $provide
а также
module(injectTest); // which results in 'Unknown provider: nProvider <- n'
Есть ли способ внедрить $provider в модуль, не нарушая минимизацию?