KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm fairly new to Angular and have reviewed all the similarly related questions on Stack Overflow but none have helped me. I believe I have everything set up correctly but am still getting an 'Unknown Provider' error when attempting to inject a service into a unit test. I have laid out my code below - hopefully someone can spot an obvious error! I define my modules in a seperate .js file like this: angular.module('dashboard.services', []); angular.module('dashboard.controllers', []); Here is where I define a service called EventingService (with logic removed for brevity): angular.module('dashboard.services').factory('EventingService', [function () { //Service logic here }]); Here is my controller that uses the EventingService (this all works fine at runtime): angular.module('dashboard.controllers') .controller('Browse', ['$scope', 'EventingService', function ($scope, eventing) { //Controller logic here }]); Here is my unit test - its the line where I attempt to inject the EventingService that causes an error when I run the unit test: describe('Browse Controller Tests.', function () { beforeEach(function () { module('dashboard.services'); module('dashboard.controllers'); }); var controller, scope, eventingService; beforeEach(inject(function ($controller, $rootScope, EventingService) { scope = $rootScope.$new(); eventingService = EventingService controller = $controller('Browse', { $scope: scope, eventing: eventingService }); })); it('Expect True to be True', function () { expect(true).toBe(true); }); }); When I run the test I get this error: Error: Unknown provider: EventingServiceProvider <- EventingService I have ensured that my jasmine
Tags (comma-separated)
Save Edits
Cancel