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
{
...
"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
{
"presets": ["react-app", "@babel/preset-react"],
"env": {
"development": {
"plugins": ["istanbul"]
}
},
"plugins": ["transform-class-properties"]
}
cypress/plugins/index.ts
/// <reference types="cypress" />
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
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