【问题标题】:Can I fail the build if Karma didn't run all the tests?如果 Karma 没有运行所有测试,我会失败吗?
【发布时间】:2015-01-27 16:13:29
【问题描述】:

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

这对 TDD 非常有用,因为我可以专注于测试子集并更快地获得结果。但是,我担心我在签入时会意外留下describe.only,这样 CI 构建就不会运行所有测试。

有没有办法做到以下几点:

  • 强制 Karma 运行所有测试,忽略 describe.onlyddescribe 等?
  • 找出 Karma 是否只运行了一部分测试,这样我就可以使构建失败并提醒不小心离开 describe.only 的开发人员?

【问题讨论】:

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


    【解决方案1】:

    Karma 似乎没有这样的功能(还 :))所以同时我创建了一个 grunt 任务来扫描测试。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-24
      • 2019-06-17
      • 2020-04-08
      • 1970-01-01
      • 2016-03-20
      • 2017-03-18
      • 1970-01-01
      • 2022-09-24
      相关资源
      最近更新 更多