7

我是 Karma 的新手。当我运行时:

karma start myconfigfile.js

Karma 正在使用 chrome 启动,但它在 karma 启动时挂起,并且没有更多的事情发生。但是我可以进入http://localhost:9876/debug.html并且可以看到测试已经在控制台中运行。我的测试在里面 vendor/Jasmine/spec/PlayerSpec.js

这是使用 karma 进行测试的正确方法还是有一些更友好的 UI 方法?

因为我可以看到业力窗口应该是这样的。

有没有人有同样的问题?

这是我的配置文件:

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
  });
};
4

1 回答 1

13

Karma 由两个主要组件组成: aserver和 a runner

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

要启动服务器,您必须运行karma start,而对于第二个服务器,您必须在第二个 shell 中启动karma run <configuration_file_path>- 尝试它并查看运行的测试。

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

  singleRun: true // => is was false

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

于 2014-04-05T16:31:28.573 回答