如果Karma没有运行所有测试,我可以通过构建失败吗?

时间:2015-01-27 16:13:29

标签: javascript continuous-integration tdd mocha karma-runner

Karma能够限制运行哪些测试。例如,在Mocha中,如果我将describe更改为describe.only,则只会运行该套件中的测试。

这对TDD很有用,因为我可以专注于一部分测试并更快地获得结果。但是,我担心在我办理登机手续时意外离开describe.only,以便CI版本不会运行所有测试。

有没有办法执行以下任一操作:

  • 强制Karma运行所有测试,忽略describe.onlyddescribe等?
  • 了解Karma是否只运行了一部分测试,以便我可以使构建失败,并提醒那些意外遗留在describe.only的开发人员?

1 个答案:

答案 0 :(得分:0)

似乎Karma没有这样的功能(但是:))所以在同一时间我创建了一个艰巨的任务来扫描测试。

    grunt.registerTask('checkOnlyTests', 'Makes sure no define.only or it.only functions are left', function() {

    grunt.file.expand(['test/**/*.js']).forEach(function(f) {
        var contents = grunt.file.read(f);
        if (contents.search('describe.only') !== -1) {
            grunt.fail.warn('describe.only() found in ' + f);
        }

        if (contents.search('it.only') !== -1) {
            grunt.fail.warn('it.only() found in ' + f);
        }
    });