How to measure common coverage for Polymer compone

2019-03-21 00:45发布

问题:

How to measure common coverage for Polymer components with all .js files in solution (for non-component tests QUnit is used)?

I tried karma-coverage, but it works only for .js files.

回答1:

For Polymer, you would normally use web-component-tester (WCT) to test your components, and the web-component-tester-istanbul plugin for code coverage. You'd configure wct.conf.json in the root of your project with something like this:

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

And then run wct, which outputs something like this:

Unfortunately, a recent upgrade in WCT has made the coverage plugin incompatible, such that the plugin never gets called, so coverage is always shown as 100% (0/0) (no lines covered, no lines seen).



回答2:

For Polymer components there is a solution to measure common coverage with karma-coverage: split to .js files and include it to components. Example is here



回答3:

@tony19, this PR fixes the web-component-tester-istanbul plugin to support WCT >= 6.4.0 https://github.com/thedeeno/web-component-tester-istanbul/pull/45