Angularjs 单元测试Karma-未知提供程序

Angularjs 单元测试Karma-未知提供程序,angularjs,karma-runner,karma-jasmine,x-editable,Angularjs,Karma Runner,Karma Jasmine,X Editable,我正在用Karma jasmine为基于Angularjs的项目编写单元测试。我正在我的应用程序中使用 我正在尝试对一个依赖于x-editable库的控制器进行单元测试。 但我面临以下错误: Error: [$injector:unpr] Unknown provider: editableThemesProvider <- edit ableThemes 在等级库文件下面: beforeEach(inject(function(_$controller_, $rootScope, $l

我正在用Karma jasmine为基于Angularjs的项目编写单元测试。我正在我的应用程序中使用

我正在尝试对一个依赖于x-editable库的控制器进行单元测试。 但我面临以下错误:

Error: [$injector:unpr] Unknown provider: editableThemesProvider <- edit ableThemes
在等级库文件下面:

beforeEach(inject(function(_$controller_, $rootScope, $localStorage, _editableThemes_, _editableOptions_) {
 localStorage = $localStorage;
 $controller = _$controller_;
 editThemes = _editableThemes_;
 editOptions = _editableOptions_;
 scope = $rootScope.$new();
 leaderboardCtrl = $controller('LeaderboardCtrl', {
  $scope: scope,
  $modal : modal,
  $q: q,
  editableOptions: editOptions,
  editableThemes: editThemes,
  $localStorage: localStorage,
  LeaderBoardService : leaderboardService
});
}));
这是我的控制器文件

(function() {
'use strict';
angular
    .module('app')
    .controller('LeaderboardCtrl', leaderboardCtrl);

leaderboardCtrl.$inject = ['$scope', '$q',  '$modal', '$localStorage', 'editableOptions', 'editableThemes', 'LeaderBoardService'];

function leaderboardCtrl  ( $scope,   $q,  $modal,   $localStorage,   editableOptions,   editableThemes,   LeaderBoardService) {
  var event_ID = $localStorage.currentEventId;
  editableThemes.bs3.inputClass = 'input-sm';
  editableThemes.bs3.buttonsClass = 'btn-sm';
  editableOptions.theme = 'bs3';

我做错了什么?我遗漏了什么吗?

你能显示一下
排行榜Ctrl
的模块定义吗?@Puigcerber check!我更新了问题您是否将
'xeditable'
添加到
'app'
模块的依赖项中?是的,它是自动注入的,因为我在我的应用程序中使用oc.lazyload,该应用程序工作正常,但单元测试失败。
(function() {
'use strict';
angular
    .module('app')
    .controller('LeaderboardCtrl', leaderboardCtrl);

leaderboardCtrl.$inject = ['$scope', '$q',  '$modal', '$localStorage', 'editableOptions', 'editableThemes', 'LeaderBoardService'];

function leaderboardCtrl  ( $scope,   $q,  $modal,   $localStorage,   editableOptions,   editableThemes,   LeaderBoardService) {
  var event_ID = $localStorage.currentEventId;
  editableThemes.bs3.inputClass = 'input-sm';
  editableThemes.bs3.buttonsClass = 'btn-sm';
  editableOptions.theme = 'bs3';