How to obtain Cypress code coverage report if tests are launched vs production build compiled in tomcat (Java)?

Viewed 36

I'm currently working in obtain the code coverage report from my Cypress tests, to do so I use nyc istambul to instrument the code and code-coverage plugin to obtain the report.

Take in account that our program works with react-app-rewired and has a modular structure, also our backend is launched with apache tomcat.

├── node_modules
├── config
│  └── eclipse
│  └ ...
.
.
.
├── modules
│  └── module_main
│     ├── web-jspack
│        ├── package.json
│        ├── src
│        ├── src-test
│           ├── cypress ...
│           ├── ...
│        ├── config-overrides.js
│  └── module_1
│     ├── web-jspack
│        ├── package.json
│        ├── src
│        ├── src-test
│           ├── cypress ...
│           ├── ...   
│  └── module_2
│     ├── ...
├── gulpfile.js
├── node_modules
├── package-lock.json
├── package.json
├── README.md
├── src
├── .nycrc

NOTE: I'm using "nyc istambul" instead "instrument-cra" plugin due the modularity of our program. When instrument-cra plugin is used, it only works for the main module, and the others are not taken in account.

So, first I instrument the necessary code (src folders from some modules), replace src folder with the instrumented version and start a dev build (from main_module: npm start), wait for compilation and then I can obtain a code coverage from the tests if launched vs dev build.

Now, we want to implement it in CI/CD (Jenkins), which uses the production build to launch Cypress tests, as to launch a production build, it compiles src folders to java and saves it in /tomcat/webapp/appName/...

Therefore I'm currently searching how to instrument the code with this conditions, is it even possible? If not, does someone know how can I obtain a code coverage report taking in account the above mentioned?

0 Answers
Related