Karma的测试没有完成

时间:2014-01-21 03:17:18

标签: javascript angularjs karma-runner

我一直试图用业力进行一些测试但是却无法让它发挥作用。在尝试使用我的应用程序后,我尝试使用最简单的可能测试运行它,然而,它仍然没有完成。

这是我的karma.conf.js文件:

    // Karma configuration
// http://karma-runner.github.io/0.10/config/configuration-file.html

module.exports = function(config) {
  config.set({
    // base path, that will be used to resolve files and exclude
    basePath: '',

    // testing framework to use (jasmine/mocha/qunit/...)
    frameworks: ['jasmine'],

    // list of files / patterns to load in the browser
    files: [
      // 'app/bower_components/angular/angular.js',
      // // 'app/bower_components/angular/angular-mocks.js',
      // 'app/scripts/*.js',
      // 'app/scripts/controllers/main.js',
      // // 'test/mock/**/*.js',
      // 'test/spec/**/*.js',
      // // 'app/scripts/**/*.js,'
      'testing.js'
    ],

    // list of files / patterns to exclude
    exclude: ['angular-scenario.js'],

    // web server port
    port: 8080,

    // level of logging
    // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
    logLevel: config.LOG_INFO,


    // enable / disable watching file and executing tests whenever any file changes
    autoWatch: false,


    // Start these browsers, currently available:
    // - Chrome
    // - ChromeCanary
    // - Firefox
    // - Opera
    // - Safari (only Mac)
    // - PhantomJS
    // - IE (only Windows)
    browsers: ['Chrome'],


    // Continuous Integration mode
    // if true, it capture browsers, run tests and exit
    singleRun: false
  });
};

这是tests.js文件:

describe("hello", function(){
    it("Should fail automatically", function(){
        expect(false).toBe(true)
    });
});

我得到的结果是:

$ karma start karma.conf.js
INFO [karma]: Karma v0.10.9 server started at http://localhost:8080/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 30.0.1599 (Mac OS X 10.7.5)]: Connected on socket dGANukHhgkPC3YyhyUrU
INFO [Chrome 30.0.1599 (Mac OS X 10.7.5)]: Connected on socket HC8iGMv-VmeYX2UAyUrV

似乎永远不会继续告诉我有多少测试成功与否。

感谢所有帮助。希望我最后会留下一些头发,哈哈。

2 个答案:

答案 0 :(得分:5)

这是预期的行为。

single_run : true表示运行测试并退出

single_run : false表示不退出(这并不明显)。

autowatch : true表示在文件更改时触发运行测试。

如果您 autowatchsingle_run都设置为false(就像您一样),那么

karma start

只会让业力初始化并等待某些东西触发它运行。

要触发运行测试,您需要打开一个新控制台并执行

karma run

(或将上述标志之一设置为' true')

答案 1 :(得分:0)

我遇到了同样的问题。我最终安装了此处建议的节点版本:http://karma-runner.github.io/0.10/intro/faq.html。所以现在,我正在使用karma服务器版本1.4.28运行node.js版本0.10.38,Chrome很满意。