简体   繁体   中英

When testing angularjs controller - Can't find variable: module / inject by chutzpah

I have angularJs controller

angular.module('App.ctrl.guests', [])
    .controller('guestsController', ['$scope', '$http', '$location', '$timeout', 'guestsService', function ($scope, $http, $location, $timeout, guestsService) {
        $scope.tiles = [];
    }])

and jasmine test

/// <reference path="~/Scripts/angular.js" />
/// <reference path="../../ProjectWeb/Scripts/app/guests/guestsCtrl.js" />
/// <reference path="~/Scripts/angular-mocks.js" />
/// <reference path="~/Scripts/jasmine.js" />
'use strict';
describe('App.ctrl.guests', function () {
    var scope, controller;
    beforeEach(function () {
        module('App.ctrl.guests')
    });
    beforeEach(inject(function ($rootScope, $controller) {
        scope = $rootScope.$new();
        controller = $controller('guestsController', {
            $scope: scope
        });
    }));

    it('should have empty array', function () {
        expect(scope.tiles).toBe([]);
    });
})

and every time i run in Visual studio chutzpah i get:

ReferenceError: Can't find variable: module in file:///.../JasmineTests/guestsControllerTest.js (line 5)

ReferenceError: Can't find variable: inject in file:///.../JasmineTests/guestsControllerTest.js (line 12)

Is thera a problem with reference angular.js and jasmine dont know what is module/inject keywords? It is my first time with js testing :/

我发现这个文章对如何拖放JavaScript文件,用于测试和正确的路径。

I had this exact exception a couple of minutes ago on our TFS build server. It turns out that this exception is also occurring when the 'Copy to Output Directory' option in the Properties dialog is set to another option than 'Do not copy'. In our situation, a couple of files was tested from the \\bin folder, which lead to an incorrect reference path.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM