アプリはモジュールで正常に動作しています。しかし、次のモックをビルドすると戻ります:
$global_vars is not defined
モジュールを適切に注入していないと思います。ここで何が欠けていますか?
describe('CalendarController', function() {
beforeEach(module("$global_vars"));
beforeEach(inject(function($rootScope, $controller, $location, $injector, $global_vars) {
var $httpBackend;
$httpBackend = $injector.get('$httpBackend');
return this.controller = $controller(CalendarController, {
$scope: this.scope,
$location: $location,
$global_vars: $global_vars
});
}));
return it("can be instantiated", function() {
return expect($global_vars).not.toBeNull();
});
});
注: これは、バニラ js への coffeescript の翻訳です。
アップデート
わかりましたので、これを行うと、別の、おそらくより良いエラーが発生しますか?
Error: Unknown provider: $httpProvider <- $http <- $global_vars
.
describe 'CalendarController', ->
beforeEach module("$global_vars")
beforeEach module("GlobalService")
beforeEach inject ($rootScope, $controller, $location, $injector) ->
$injector = angular.injector [ '$global_vars' ]
$global_vars = $injector.get('$global_vars')
$global_vars = $injector.get('$global_vars')
@controller = $controller CalendarController, {$scope: @scope, $location: $location}
私のbackbone.jsの最低限の骨
angular.module("VarsService", []).factory "$global_vars", ["$http", '$location', ($http, $location) ->
global_vars.get_calendar = ->
console.log 'blam!'