cypress-io / cypress-io/code-coverage

Unit test code coverage is not exported

Open
#361 17 comments 7 reactions 0 assignees View on GitHub
bug preprocessor: browserify typescript
Dominant language
TypeScript
Stars
445
Forks
115
PR merge metrics
No merged PRs in 30d

Description

Hi everyone, I'm trying to implement code coverage in my project react CRA + Typescript in e2e and unit tests and what is happening, is that when I run e2e tests, everything works fine but when I run unit testing, the files from the coverage folder and the .nyc_output folder are not being generated

I'm follow this tutorial: https://docs.cypress.io/guides/tooling/code-coverage.html#Introduction

package.json
```json
{
...
"devDependencies": {
...
"@cypress/code-coverage": "^3.8.5",
"babel-eslint": "^10.1.0",
"babel-plugin-istanbul": "^6.0.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"cypress": "^6.1.0",
"istanbul-lib-coverage": "^3.0.0",
"nyc": "^15.1.0"
},
...
}
```

.babelrc
```.babelrc
{
"presets": ["react-app", "@babel/preset-react"],
"env": {
"development": {
"plugins": ["istanbul"]
}
},
"plugins": ["transform-class-properties"]
}
```

cypress/plugins/index.ts
```typescript
///
const browserify = require("@cypress/browserify-preprocessor");

module.exports = (on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) => {
require("@cypress/code-coverage/task")(on, config);

const options = browserify.defaultOptions;
options.browserifyOptions.transform[1][1].babelrc = true;
on("file:preprocessor", browserify({ ...options, typescript: require.resolve("typescript") }));

return config;
};
```

cypress/support/index.ts
```typescript
import "@cypress/code-coverage/support";
import "./commands";
```

To start testing, fisrt i start application with `yarn start` and after i run `yarn cypress run --spec './cypress/integration/units/**/*'`

I'm testing on my windows 10 computer with powershell but I need this to put in docker container to run on Drone CI.
I'll run the unit tests on each PR and when I open a PR for master/main I'll run the unit tests and e2e tests

The console log shows:

```
Cannot find coverage file C:\Users\Paulo\Desktop\teste-eject\.nyc_output\out.json
Skipping coverage report
```

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.