Angularjs 警告[PhantomJS 1.9.8(Mac OS X)]:断开连接(1次),因为10000毫秒内没有消息
我的项目是爱奥尼亚·安格拉斯·雷奎里斯Angularjs 警告[PhantomJS 1.9.8(Mac OS X)]:断开连接(1次),因为10000毫秒内没有消息,angularjs,macos,requirejs,karma-jasmine,Angularjs,Macos,Requirejs,Karma Jasmine,我的项目是爱奥尼亚·安格拉斯·雷奎里斯 我的环境是Mac OS X 10.10.1,节点v0.10.30 我想将karma测试集成到我的项目中,但当我运行grunt测试时,这是错误的: 结果: Running "karma:unit" (karma) task INFO [karma]: Karma v0.12.28 server started at http://localhost:9876/ INFO [launcher]: Starting browser PhantomJS INFO
我的环境是Mac OS X 10.10.1,节点v0.10.30 我想将karma测试集成到我的项目中,但当我运行
grunt测试时,这是错误的:
结果:
Running "karma:unit" (karma) task
INFO [karma]: Karma v0.12.28 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Mac OS X)]: Connected on socket UhgMIttDejE4Xdm8I7mG with id 52208731
WARN [PhantomJS 1.9.8 (Mac OS X)]: Disconnected (1 times), because no message in 10000 ms.
Warning: Task "karma:unit" failed. Use --force to continue.
Aborted due to warnings.
"grunt-bower-requirejs": "^1.1.1",
"grunt-contrib-uglify": "^0.2.7",
"grunt-karma": "^0.9.0",
"karma": "^0.12.28",
"karma-jasmine": "^0.3.2",
"karma-phantomjs-launcher": "^0.1.4",
"karma-requirejs": "^0.2.2",
"requirejs": "^2.1.15"
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
bower: {
target: {
rjsConfig: 'js/main.js'
}
},
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
},
},
karma: {
unit: {
options: {
frameworks: ['jasmine', 'requirejs'],
browsers: ['PhantomJS'],
autoWatch: true,
singleRun: true,
files: [
'lib/js/generated/angular/angular.js',
'lib/js/generated/angular-mocks/angular-mocks.js',
//'js/**/*.js',
//'templates/**/*.html',
'tests/*.tests.js'
],
exclude: [
'js/main.js'
]
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-bower-requirejs');
grunt.loadNpmTasks('grunt-karma');
// Tell Grunt what to do when we type "grunt" into the terminal
grunt.registerTask('default', [
'uglify',
'bower'
]);
grunt.registerTask('test', [
'karma'
]);
这是我的包中的依赖项。json:
Running "karma:unit" (karma) task
INFO [karma]: Karma v0.12.28 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Mac OS X)]: Connected on socket UhgMIttDejE4Xdm8I7mG with id 52208731
WARN [PhantomJS 1.9.8 (Mac OS X)]: Disconnected (1 times), because no message in 10000 ms.
Warning: Task "karma:unit" failed. Use --force to continue.
Aborted due to warnings.
"grunt-bower-requirejs": "^1.1.1",
"grunt-contrib-uglify": "^0.2.7",
"grunt-karma": "^0.9.0",
"karma": "^0.12.28",
"karma-jasmine": "^0.3.2",
"karma-phantomjs-launcher": "^0.1.4",
"karma-requirejs": "^0.2.2",
"requirejs": "^2.1.15"
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
bower: {
target: {
rjsConfig: 'js/main.js'
}
},
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
},
},
karma: {
unit: {
options: {
frameworks: ['jasmine', 'requirejs'],
browsers: ['PhantomJS'],
autoWatch: true,
singleRun: true,
files: [
'lib/js/generated/angular/angular.js',
'lib/js/generated/angular-mocks/angular-mocks.js',
//'js/**/*.js',
//'templates/**/*.html',
'tests/*.tests.js'
],
exclude: [
'js/main.js'
]
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-bower-requirejs');
grunt.loadNpmTasks('grunt-karma');
// Tell Grunt what to do when we type "grunt" into the terminal
grunt.registerTask('default', [
'uglify',
'bower'
]);
grunt.registerTask('test', [
'karma'
]);
这是我的Grunfile.js:
Running "karma:unit" (karma) task
INFO [karma]: Karma v0.12.28 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Mac OS X)]: Connected on socket UhgMIttDejE4Xdm8I7mG with id 52208731
WARN [PhantomJS 1.9.8 (Mac OS X)]: Disconnected (1 times), because no message in 10000 ms.
Warning: Task "karma:unit" failed. Use --force to continue.
Aborted due to warnings.
"grunt-bower-requirejs": "^1.1.1",
"grunt-contrib-uglify": "^0.2.7",
"grunt-karma": "^0.9.0",
"karma": "^0.12.28",
"karma-jasmine": "^0.3.2",
"karma-phantomjs-launcher": "^0.1.4",
"karma-requirejs": "^0.2.2",
"requirejs": "^2.1.15"
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
bower: {
target: {
rjsConfig: 'js/main.js'
}
},
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
},
},
karma: {
unit: {
options: {
frameworks: ['jasmine', 'requirejs'],
browsers: ['PhantomJS'],
autoWatch: true,
singleRun: true,
files: [
'lib/js/generated/angular/angular.js',
'lib/js/generated/angular-mocks/angular-mocks.js',
//'js/**/*.js',
//'templates/**/*.html',
'tests/*.tests.js'
],
exclude: [
'js/main.js'
]
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-bower-requirejs');
grunt.loadNpmTasks('grunt-karma');
// Tell Grunt what to do when we type "grunt" into the terminal
grunt.registerTask('default', [
'uglify',
'bower'
]);
grunt.registerTask('test', [
'karma'
]);
module.exports=函数(grunt){
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
鲍尔:{
目标:{
rjsConfig:'js/main.js'
}
},
丑陋的:{
选项:{
横幅:'/*!*/\n'
},
建造:{
src:'src/.js',
dest:'build/.min.js'
},
},
业力:{
单位:{
选项:{
框架:['jasmine','requirejs'],
浏览器:['PhantomJS'],
自动观察:没错,
singleRun:是的,
档案:[
'lib/js/generated/angular/angular.js',
'lib/js/generated/angular mocks/angular mocks.js',
//“js/***.js”,
//“templates/***.html”,
'tests/*.tests.js'
],
排除:[
'js/main.js'
]
}
}
}
});
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks('grunt-bower-requirejs');
grunt.loadNpmTasks(“grunt-karma”);
//告诉Grunt在终端中键入“Grunt”时要做什么
grunt.registerTask('default'[
"丑",,
“鲍尔”
]);
grunt.registerTask('test'[
“因果报应”
]);
}) 我使用grunt karma插件的经验是,我花在调试插件上的时间比我实际使用的站点要多。我的解决方案是完全避免使用grunt exec来运行我的karma命令,或者只是不使用grunt并在新选项卡中手动运行karma
grunt.loadNpmTasks('grunt-exec');
var config =
{
exec: {
karma : 'karma start {path to your karma.conf.js file}'
// or
// karma : 'karma run {path to your karma.conf.js file}'
}
}
我知道这可能不是你想要的答案,但我的经验让我认识到,你从原始程序中获得的每一步都只是你必须调试的一个附加程序,而不是你自己的
尽管如此,
您的文件似乎未包含在内
我通常将我的karma配置文件分为不同的文件:
config/files.js
config/common.conf.js
config/karma.conf.js
var commonConfig=require('./common.conf.js')
config/build.conf.js
config/test.coverage.js
这样做可以让我在不同的情况下运行不同的业力配置
在开发过程中,我使用:
karma start config/karma.conf.js
要在我运行的所有浏览器中获得测试覆盖率,请执行以下操作:
karma start config/test.coverage.js
作为持续集成过程的一部分,我运行
karma start config/build.conf.js
使用此方法,我可以再次使用grunt exec在适当的时间运行这些命令