我正试图在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. });
请帮我完成。
答案 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)