Ich habe folgende Anbieter:Unbekannter Anbieter in Karma Test
(function (angular) {
angular.module('app')
.provider('$_Config', ConfigProvider);
function ConfigProvider() {
.... //routes definition
}
ConfigProvider.prototype.$get = function() {
return this;
};
ConfigProvider.prototype.getRoutes = function() {...}
//other prototype functions
})(angular);
In app.js ich es so bin mit:
app.config(function ($routeProvider, $_ConfigProvider) {
var routes = $_ConfigProvider.getRoutes();
routes.forEach(function(route) {
$routeProvider
.when(route.route, {
.....
})
}
Alles, was gut funktionieren, bis es zum Testen bekommt. Hier ist mein Test:
describe('Provider: $_ConfigProvider', function() {
// load the providers module
beforeEach(module('app'));
// instantiate provider
var $_ConfigProvider;
beforeEach(inject(function (_$_Config_) {
$_ConfigProvider = _$_Config_;
}));
it('Should verify getRoutes function', function() {
var routes = $_ConfigProvider.getRoutes();
expect(Object.prototype.toString.call(routes) === '[object Array]').toBe(true);
});
});
Wenn der Test ausgeführt erhalte ich folgende Fehlermeldung:
Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:unpr] Unknown provider: $_ConfigProvider
Hinweis: Die $_ConfigProvider
richtig während der Laufzeit injiziert.
Bestellung gelöst das Problem – vlio20
@ vlio20 Bestellung was genau? –
Die statischen Ressourcen, Ihre 3rd-Party-Bibliotheken. – vlio20