1
我無法爲Angular應用程序設置Jasmine測試。茉莉花找不到我的控制器(我懷疑它根本找不到我的應用程序)。Angular的Jasmine測試找不到我的控制器
下面是一個說明我遇到問題的一個樣本:
angular.module('testMod', [])
.controller('testController', ['$scope', function($scope) {
$scope.person = {name: 'Jim', age: 14};
function innerFunction() {}
}]);
測試:
describe('testMod suite', function() {
var $rootScope, myController;
beforeEach(inject(function($injector) {
angular.module('testMod');
$rootScope = $injector.get('$rootScope');
var $controller = $injector.get('$controller');
myController = $controller('testController', {$scope: $rootScope});
}));
it('works', function() {
expect(typeof myController.innerFunction).toBe('function');
});
});
它未能就行了
myController = $controller('testController', {$scope: $rootScope});
我的錯誤看到的是:
Error: [ng:areq] Argument 'testController' is not a function, got undefined
我使用茉莉花獨立SpecRunner.html,與我的應用程序和規格裝:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jasmine Spec Runner v2.0.0</title>
<link rel="shortcut icon" type="image/png" href="lib/jasmine-2.0.0/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="lib/jasmine-2.0.0/jasmine.css">
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script>
<!-- angular-mock must be loaded AFTER Jasmine -->
<script type="text/javascript" src="../src/angular-1.2.5.min.js"></script>
<script type="text/javascript" src="../src/angular-mock-1.2.5.js"></script>
<!-- include source files here... -->
<script type="text/javascript" src="../src/testMod.js"></script>
<!-- include spec files here... -->
<script type="text/javascript" src="spec/testMod.Test.js"></script>
</head>
<body>
</body>
</html>
任何建議都讚賞 - 我一直是這樣,現在掙扎了一會兒。