Karma在Karma开始时挂起

时间:2014-04-05 12:50:40

标签: jasmine karma-runner karma-jasmine

我是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
  });
};

1 个答案:

答案 0 :(得分:11)

Karma由两个主要组成部分组成:serverrunner

第一个准备测试环境并生成浏览器,但是第二个开始测试。

要启动服务器,您必须运行karma start,而对于第二个,您必须从第二个shell karma run <configuration_file_path>开始 - 尝试并看到测试正在运行。

如果您想自动启动它,只需在配置文件中更改此行:

  singleRun: true // => is was false

此时,Karma将设置服务器,运行测试并在完成时关闭。