【发布时间】:2017-05-26 14:16:18
【问题描述】:
在我的终端(在 gruntfile.js 的位置)运行此程序时,我不断收到错误:
grunt karma
这里的解决方案要么不起作用,要么不再是一种选择 - https://github.com/vojtajina/ng-directive-testing/issues/2
这是输出:
Running "karma:unit" (karma) task
26 05 2017 13:43:15.838:INFO [karma]: Karma v1.7.0 server started at http://0.0.0.0:8082/
26 05 2017 13:43:15.840:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
26 05 2017 13:43:15.848:INFO [launcher]: Starting browser PhantomJS
26 05 2017 13:43:15.955:ERROR [phantomjs.launcher]: Fontconfig warning: ignoring C.UTF-8: not a valid language tag
26 05 2017 13:43:16.130:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket 9TxdacwF4rc7mUB0AAAA with id 76282796
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
SyntaxError: Unexpected token '>'
at app/client/app.js:2
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
SyntaxError: Unexpected token '>'
at app/client/paths/home/homeCtrl.js:2
这是我的代码:
karma.config.js
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
files: [
'bower_components/angular/angular.js',
'bower_components/angular-mocks/angular-mocks.js',
'app/**/*.js'
],
port: 8082,
browsers: ['PhantomJS'],
plugins: [
'karma-phantomjs-launcher',
'karma-jasmine',
'karma-ng-html2js-preprocessor'
],
logLevel: config.LOG_INFO,
})};
gruntfile.js 中 karma 的 grunt 测试块
karma: {
unit: {
configFile: 'karma.config.js',
singleRun: true
}
}
homeCtrl.spec.js
describe('HomeCtrl', function() {
beforeEach(module('myApp'));
var HomeCtrl;
beforeEach(inject(function($controller){
HomeCtrl = $controller('HomeCtrl');
}));
describe('message', function() {
it('should read hello', function() {
expect(HomeCtrl.message).toBe('hello');
});
});
});
homeCtrl.js
angular.module('myApp')
.controller('HomeCtrl', ($scope) => {
$scope.message = 'hello';
})
app.js
angular.module('myApp', ['ngRoute', 'ngMaterial'])
.config(($routeProvider) => {
$routeProvider.when("/", { templateUrl : "paths/home/home.html" });
});
这是文件夹结构: https://i.stack.imgur.com/ncQI3.png
任何意见将不胜感激,谢谢。
【问题讨论】:
-
你在这里错过了逗号
port: 8082 -
哦,是的,谢谢,但是问题仍然存在。只是复制代码时出错。
-
SyntaxError: Unexpected token '>' at app/client/app.js:2你能展示你的app.js吗? -
angular.module('myApp', ['ngRoute', 'ngMaterial']) .config(($routeProvider) => { $routeProvider .when("/", { templateUrl : "paths /home/home.html" }); });
-
你有什么想法吗?
标签: angularjs testing gruntjs karma-jasmine