单元测试Karma -Unknown提供商

时间:2016-11-22 14:31:07

标签: angularjs karma-runner karma-jasmine x-editable

我为使用Karma-jasmine建立在Angularjs上的项目编写单元测试。我在我的应用中使用x-editable library

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

Error: [$injector:unpr] Unknown provider: editableThemesProvider <- edit ableThemes

我已经在Karma配置文件中添加了x-editable my的路径:

files:[ 
    ...... 
    { pattern: '../../libs/angular/angular-xeditable/dist/js/xeditable.min.js', watched: false },
     ........ 
    ]

在spec文件下面:

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';

我做错了什么?我错过了什么吗?

0 个答案:

没有答案
相关问题