Karma(Angularjs)中未加载文件

时间:2014-12-31 02:22:22

标签: angularjs karma-runner

我正试图在angularjs中测试一个简单的控制器, 但文件没有加载到浏览器中。 我的文件如下。

files: [ 'js/test.js','js/app.js','js/angular.min.js']

如果我也提供了错误的文件路径,Karma也没有给我任何错误/警告。

示例:

files: [ 'js/test_wrong_path.js','js/app_wrong_path.js','js/angular.min.js']

当我开始业力时,只有浏览器正在启动。什么都没发生。

app.js

1.  angular.module('app', [])
1.  .controller('PasswordController', function PasswordController($scope) {
1.   $scope.password = '';
1.    $scope.grade = function() {
1.     var size = $scope.password.length;
1.     if (size > 8) {
1.       $scope.strength = 'strong';
3.     } else if (size > 3) {
3.       $scope.strength = 'medium';
3.     } else {
3.       $scope.strength = 'weak';
3.     }
3.   };
1. });

test.js

1. describe('PasswordController', function() {
1.   beforeEach(module('app'));

1.   var $controller;

1.   beforeEach(inject(function(_$controller_){
    // The injector unwraps the underscores (_) from around the parameter names when matching
1.     $controller = _$controller_;
1.   }));

1.   describe('$scope.grade', function() {
1.     it('sets the strength to "strong" if the password length is >8 chars', function() {
1.       var $scope = {};
1.       var controller = $controller('PasswordController', { $scope: $scope });
1.       $scope.password = 'longerthaneightchars';
1.       $scope.grade();
1.       expect($scope.strength).toEqual('strong');
1.    });
1.  });
1. });

请帮我完成。

2 个答案:

答案 0 :(得分:0)

据我了解,您必须为Karma生成配置文件。

可以使用 karma init 命令生成初始配置。 在此处详细了解:http://karma-runner.github.io/0.12/config/configuration-file.html

答案 1 :(得分:0)

文件未按要求的顺序加载。

1. Angular库文件和依赖模块JS文件(js / angular.min.js)
2.应用程序JS文件(模块,控制器,指令,服务......)(js / app.js)
3. Jasmin文件/单元测试用例文件(js / test.js)