boatcoder boatcoder - 2 months ago 20
Javascript Question

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.

Answer

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/**" ],