如何测量Polymer components + .js文件的常用覆盖率?

时间:2017-01-18 15:55:19

标签: polymer karma-runner code-coverage karma-coverage wct

如何使用解决方案中的所有.js文件测量Polymer组件的公共覆盖范围(对于非组件测试使用QUnit)?

我尝试了karma-coverage,但它仅适用于.js个文件。

3 个答案:

答案 0 :(得分:2)

对于Polymer,您通常会使用web-component-tester(WCT)来测试您的组件,并使用web-component-tester-istanbul插件来代码覆盖。您可以在项目的根目录中配置wct.conf.json,如下所示:

{
  "suites": [
    "test/components/my-view1/my-view1.html"
  ],
  "plugins": {
    "istanbul": {
      "dir": "./build/coverage",
      "reporters": [
        "text-summary",
        "lcov"
      ],
      "include": [
        "*.js",
        "*.html"
      ],
      "exclude": []
    }
  }
}

然后运行wct,输出如下内容:

enter image description here

不幸的是,最近WCT的升级使得覆盖插件incompatible,从而永远不会调用插件,因此覆盖始终显示为100% (0/0)(没有覆盖线,没有看到线)。

答案 1 :(得分:0)

对于Polymer组件,有一种解决方案可以使用karma-coverage来衡量公共覆盖率:拆分为.js文件并将其包含在组件中。示例是here

答案 2 :(得分:0)

@ tony19,此PR修复了web-component-tester-istanbul插件以支持WCT> = 6.4.0 https://github.com/thedeeno/web-component-tester-istanbul/pull/45