Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Code coverage "Unknown" using jest 15.1.1

When I try to include all the project source code to get a more reasonable code coverage figure, I end up with

----------|----------|----------|----------|----------|----------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |
----------|----------|----------|----------|----------|----------------|
All files |  Unknown |  Unknown |  Unknown |  Unknown |                |
----------|----------|----------|----------|----------|----------------|

My config contains the following:

"collectCoverageFrom": [
    "<rootDir>/app_modules/",
    "<rootDir>/src/"
],    

I've also tried it without the trailing /, with **/*.js and with just a trailing *.js all to no avail.

Based on the --debug option, the path expands to the paths I want to collect coverage information from ( isn't the problem)

So what is the magic to getting more accurate coverage information?

The best docs I've been able to find come from this Github PR: https://github.com/facebook/jest/pull/1349/files


I ended up doing:

"collectCoverageFrom": [
    "**/*.js",
    "!webpack.config.js"
],

which only worked because this is part of the default config

"testPathIgnorePatterns": [
    "/node_modules/"
],

It does add a huge amount of time to the test run though.

like image 312
boatcoder Avatar asked Sep 18 '16 19:09

boatcoder


1 Answers

Look at your link very carefully:

collectCoverageFrom: {
  description: wrap(
    'relative to <rootDir> glob pattern matching the files that coverage ' +
      'info needs to be collected from.'
      ...

You can't use <rootDir>. Try:

collectCoverageFrom: [
    "**/app_modules/**",
    "**/src/**"
],
like image 139
robi24 Avatar answered Oct 17 '22 05:10

robi24