2016-11-24 10 views
0

私のコントローラで$スコープ:

angular.module('dr.search.components',[]) 
    .controller('HomeCtrl', function ($scope, $state, $timeout, $interval, $rootScope) { 
    // code 
}); 

テストコード(内側説明):その場合

var HomeController, $controller; 
var scope, $state, $timeout, $interval,$rootScope; 

beforeEach(module('dr.search.components')); 
beforeEach(module('ui.router')); 

beforeEach(inject(function(_$controller_, _$scope_, _$state_, _$timeout_, _$interval_, _$rootScope_) { 
    $controller = _$controller_; 
    scope = _$rootScope_.$new(); 
    $state = _$state_; 
    $timeout = _$timeout_; 
    $interval = _$interval_; 
    $rootScope = _$rootScope_; 

    HomeController = $controller('HomeCtrl', {$scope: scope, $state: $state, $timeout: $timeout, $interval: $interval, $rootScope: $rootScope}); 

})); 

// Verify our controller exists 
it('Home Controller should be defined', function() { 
    expect(HomeController).toBeDefined(); 
}); 

私は、私のコントローラをテストしています存在するか否かを判断する。それは私に不明なプロバイダを示しています:$ scopeProvider < - $ scope。

答えて

2

beforeEachから$ scopeを削除してください。

beforeEach(inject(function(_$controller_, _$state_, _$timeout_, _$interval_, _$rootScope_) { 
    ... 
})); 
+0

完了しました。今私はこのエラーを表示します: セレクタを介して要素を検索することはjqLit​​eによってサポートされていません! –

+0

テストコード全体の上に投稿したコードはありますか? – Amygdaloideum

+0

scopeProviderとjqLit​​eが解決されました。 jqLit​​eエラーはコントローラのこの行のためです。 angular.element( 'body')。addClass( 'home');ご協力いただきありがとうございます。 –

関連する問題