cypress-io / cypress-io/code-coverage
[Windows specific?] Running with nyc all=true causes all files to display as 0% coverage
- Dominant language
- TypeScript
- Stars
- 445
- Forks
- 115
- PR merge metrics
- No merged PRs in 30d
Description
**Logs and screenshots**
Please provide debug logs by running Cypress from the terminal with `DEBUG=code-coverage` environment variable set, see the [Debugging](https://github.com/cypress-io/code-coverage#debugging) section of the README file.
**Versions**
- What is this plugin's version? If this is NOT the latest [released version](https://github.com/cypress-io/code-coverage/releases) can you try the latest version, please? 3.5.1, tested with latest version as well.
- If the plugin worked before in version X, but stopped after upgrading to version Y, please try the [released versions](https://github.com/cypress-io/code-coverage/releases) between X and Y to see where the breaking change was. N/A
- What is Cypress version? 4.4.0
- What is your operating system? Windows 10
- What is the shell? Git bash/cywin
- What is the Node version? 12.4.0
- What is the NPM version? 6.9.0
- How do you instrument your application? Cypress [does not instrument web application code](https://github.com/cypress-io/code-coverage#instrument-your-application), so you need to do it yourself. https://github.com/cypress-io/instrument-cra
- When running tests, if you open the web application in regular browser, and open DevTools, do you see `window.__coverage__` object? Can you paste a screenshot? Its displaying correctly. https://pastebin.com/0Mn92t3H
- Is there `.nyc_output` folder? Is there `.nyc_output/out.json` file. Is it empty? Can you paste at least part of it so we can see the keys and file paths? There's an .nyc_output folder and out.json file. Pasted one for each flag (true & false in example section.)
- Do you have any custom NYC settings in `package.json` (`nyc` object) or in other [NYC config files](https://github.com/istanbuljs/nyc#configuration-files) https://github.com/penx/storybook-code-coverage/blob/master/package.json
- Do you run Cypress tests in a Docker container? No
**Describe the bug**
When running a coverage report with the all flag set to true within nyc in package.json, the reporter is showing all files at 0% coverage, but it shows correct coverage at the aggregate/top level.
Additional info to replicate: The bug is resolved and correct file level coverage is displayed when I set `all` to `false` in that repository.
**Link to the repo**
https://github.com/penx/storybook-code-coverage is how I double checked that this is a bug, I also tested with the latest version of cypress and the cra/this plugin on another project.
**Example**
After opening the coverage report in `coverage/integration/lcov-report/index.html` in that that repository after running `npm run coverage`:
## When all=false (working):
Top level coverage: https://gyazo.com/eeab9d1a76edf98a7670168c41c0b788
File coverage: https://gyazo.com/a72045d928476dfa96e1d6f991ff204c
out.json: https://pastebin.com/xm83Q1mX
## When all=true (broken)
Top level coverage: Same as all=false
File coverage: https://gyazo.com/b8cbb29228c2afb7ac5d1ea125c369cf (notice how this file was noted as 100% covered in the top level.)
out.json: https://pastebin.com/xuM6yXrF
This bug must be windows specific with the `all` flag, as @penx wrote an article about his repository which show it correctly working in a unix environment: https://github.com/penx/storybook-code-coverage
https://dev.to/penx/combining-storybook-cypress-and-jest-code-coverage-4pa5
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.