Error: [$injector:unpr] Unknown provider: $stateProvider <- $state

Neha Gupta picture Neha Gupta · Feb 26, 2015 · Viewed 17.6k times · Source

Executing below unit test gives "Error: [$injector:unpr] Unknown provider: $stateProvider <- $state". I have attached the angular-ui-router.min.js in karma file.

 describe("Unit tests", function() {

  var $rootScope, $injector, $state;
  console.log("hello");

  beforeEach(inject(function(_$rootScope_, _$state_, _$injector_, $templateCache) {
    console.log("hello1");
    $rootScope = _$rootScope_;
    $injector = _$injector_;
    $state = _$state_;
  }));

  describe("states", function() {
    it("verify state configuration", function() {
        var config = $state.get("DRaaS");
        console.log(config, "cc");
    });
  });
});

Answer

JB Nizet picture JB Nizet · Feb 26, 2015

You haven't loaded any module, so no service at all is available. Add this before your beforeEach:

beforeEach(module('ui.router'));