cypress-io / cypress-io/code-coverage

Unable to generate Code Coverage report - 'Cannot find coverage file'

Open
#756 5 comments 3 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
445
Forks
115
PR merge metrics
No merged PRs in 30d

Description

I recently upgraded the Cypress version to `13.6.1` from `9.6.x` and the coverage reports stopped working. Followed all the steps mentioned in this guide https://docs.cypress.io/guides/tooling/code-coverage#E2E-code-coverage

Debug Log
```
code-coverage combined NYC options { 'report-dir': './cypress/coverage/ui', reporter: [ 'lcov', 'clover', 'json', 'json-summary' ], extension: [ '.js', '.cjs', '.mjs', '.ts', '.tsx', '.jsx' ], excludeAfterRemap: false, 'temp-dir': './cypress/coverage/temp' } +0ms
```

Coverage failure message
```
Cannot find coverage file /ui-workspace/cypress/coverage/temp/out.json
Skipping coverage report
```

**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?
```
"@cypress/code-coverage": "3.12.15",
"cypress": "13.6.1"
```

- 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.
- What is the Cypress version? - `13.6.1`
- What is your operating system? - `Mac OS Ventura`
- What is the shell? - `OMZ`
- What is the Node version? - `v16.18.1`
- What is the NPM version? - `8.19.2`
- 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 must do it yourself. - `Via babel using webpack`
- When running tests, if you open the web application in a regular browser and open DevTools, do you see `window.__coverage__` object? Can you paste a screenshot?
- Is there a `.nyc_output` folder? Is there a `.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? - `it is empty`
- 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)? - `No`
- Do you run Cypress tests in a Docker container? - `The issue is happening in both Mac OS and Linux based Docker Containers.`

Here is some additional information
`cypress.config.ts` file
```
....
e2e: {
setupNodeEvents(on, config) {
require('./cypress/plugins/index.js')(on, config);
return config;
},
}]
...
```

`cypress/plugins/index.js` file

```
const cypressTypeScriptPreprocessor = require('./cy-ts-preprocessor');

module.exports = (on, config) => {
if (config && config.env && config.env.recordCodeCoverage) {
on('file:preprocessor', cypressTypeScriptPreprocessor);

// enable code coverage collection
require('@cypress/code-coverage/task')(on, config);
}

// IMPORTANT to return the config object
// with the any changed environment variables
return config;
};
```

`cypress/support/e2e.ts` file
```
import '@cypress/code-coverage/support';
```

Any help is appreciated.

Thanks,
Nathan

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.