为什么覆盖率不生效啊

用coverageas跑测试,可以跑成功但是不显示覆盖率
正文还需要三十字符,这么什么老谭设定

img

img

  • 这篇博客: 一步一步实现现代前端单元测试中的 2 测试覆盖率(test coverage) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 测试覆盖率是衡量测试质量的主要标准之一,含义是当前测试对于源代码的执行覆盖程度。在 karma 中使用 karma-coverage 插件即可输出测试覆盖率,插件底层使用的是 istanbul

    ~/test-demo $ npm i karma-coverage -D

    修改 karma.conf.js 文件:

    preprocessors: {
      '../src/utils.js': ['coverage'],
      './specs/utils.spec.js': ['espower']
    },
    
    reporters: ['spec', 'coverage'],
    coverageReporter: {
      dir: './coverage', // 覆盖率结果文件放在 test/coverage 文件夹中
      reporters: [
        { type: 'lcov', subdir: '.' },
        { type: 'text-summary' }
      ]
    },

    再次运行测试命令,在最后会输出测试覆盖率信息

    =============================== Coverage summary ===============================
    Statements   : 100% ( 2/2 )
    Branches     : 100% ( 0/0 )
    Functions    : 100% ( 1/1 )
    Lines        : 100% ( 2/2 )
    ================================================================================

    打开 test/coverage/lcov-report/index.html 网页可以看到详细数据
    coverage.gif