我有angularJs控制器
angular.module('App.ctrl.guests', [])
.controller('guestsController', ['$scope', '$http', '$location', '$timeout', 'guestsService', function ($scope, $http, $location, $timeout, guestsService) {
$scope.tiles = [];
}])
和茉莉花测试
/// <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([]);
});
})
每次我在Visual studio chutzpah中运行时都会得到:
ReferenceError:找不到变量:module in 文件:///.../JasmineTests/guestsControllerTest.js (第5行)
ReferenceError:找不到变量:inject in file:///.../JasmineTests/guestsControllerTest.js(第12行)
这是一个问题,引用angular.js和jasmine不知道什么是module / inject关键字?这是我第一次使用js测试:/
答案 0 :(得分:4)
我在this文章中找到了关于如何拖放JavaScript文件以进行测试和纠正路径的文章。
答案 1 :(得分:0)
几分钟前我在TFS构建服务器上遇到了这个确切的异常。事实证明,当“复制到输出目录”时,也会出现此异常。 “属性”对话框中的选项设置为“不要复制&#39;”之外的其他选项。在我们的情况下,从\ bin文件夹测试了几个文件,这导致了错误的引用路径。