我是Karma的新手。我跑的时候:
karma start myconfigfile.js
Karma正在开始使用chrome,但它在业力开始时就会挂起,而且没有其他事情发生。但是我可以进入http://localhost:9876/debug.html
并且可以看到测试已在控制台中运行。我的测试在vendor/Jasmine/spec/PlayerSpec.js
内。
这是使用业力进行测试的正确方法还是有更多的UI友好方式?
因为我可以看到karma窗口应该看起来像this。
有没有人有同样的问题?
这是我的配置文件:
module.exports = function(config) {
config.set({
basePath: '/',
frameworks: ['jasmine'],
files: [
'nodejs/node_modules/karma-jasmine/lib/jasmine.js',
'nodejs/node_modules/karma-jasmine/lib/adapter.js',
'nodejs/node_modules/requirejs/*.js',
'vendor/Jasmine/spec/PlayerSpec.js',
'angular/angular.min.js',
'angular/angular-mocks.js'
],
exclude: [
],
preprocessors: {
},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_DEBUG,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
答案 0 :(得分:11)
Karma由两个主要组成部分组成:server
和runner
。
第一个准备测试环境并生成浏览器,但是第二个开始测试。
要启动服务器,您必须运行karma start
,而对于第二个,您必须从第二个shell karma run <configuration_file_path>
开始 - 尝试并看到测试正在运行。
如果您想自动启动它,只需在配置文件中更改此行:
singleRun: true // => is was false
此时,Karma将设置服务器,运行测试并在完成时关闭。