我在js控制台日志中尝试将控制器分配给' myCtrl'时收到以下错误:茉莉花测试中的变量:' myApp.controller不是函数'
在控制器本身中,控制器定义如下,这就是触发我提到的错误的原因:
myApp.controller('myCtrl', ...
这就是我在我的spec文件中尝试访问控制器的方式:
beforeEach(function() {
module('myApp');
});
it('tests the controller', inject(function($controller) {
var myCtrl = $controller('myCtrl');
}));
知道为什么它还在抛出这个错误吗?似乎缺少依赖但不确定在哪里..
答案 0 :(得分:0)
如果您想测试控制器,以下是编写测试用例的一种方法
describe('YourControllerName', function () {
var $rootScope, scope, $controller ;
beforeEach(angular.mock.module('YourModuleName'));
beforeEach(inject(function ($rootScope, $controller ) {
scope = $rootScope.$new();
$controller('YourControllerName', {
$scope: scope
});
}));
it('Should do this', function () {
//assertions
});
});
答案 1 :(得分:0)
谢谢 - 事实证明,我需要在SecRunner.html中的myController.js之前列出myApp.js这么简单。我很确定我之前尝试过这个......但是你去了。