Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To send Cypress coverage to Codecov, instrument your application before Cypress runs, collect the resulting coverage with @cypress/code-coverage, generate a report, and upload that report from CI. Cypress does not instrument application code for you; your build or bundler must do that first.

How the Cypress-to-Codecov workflow fits together

The integration has three separate jobs: instrumentation adds coverage counters to application code; Cypress exercises that code and the coverage plugin collects the results; Codecov receives the generated report from CI. A passing test run alone does not guarantee that a coverage report exists or that it was uploaded.

  1. Instrument: Configure your build or bundler to instrument the application files you want measured.
  2. Collect and report: Configure @cypress/code-coverage, run Cypress with the instrumented application, and verify the report locally or in CI.
  3. Upload: Add a Codecov upload step after the report has been created and make the repository token available as required by your provider and repository visibility.

Coverage indicates which source code ran; it does not by itself show that tests are effective or that every user journey is covered. Cypress distinguishes source-code coverage from UI Coverage, which concerns the interface elements users interact with.

Instrument the application before Cypress runs

Choose an instrumentation method that matches your build system. Cypress documents Istanbul-based approaches, including nyc and Babel-based setups, and a Vite path using vite-plugin-istanbul. Configure its include and exclude patterns to measure the application source you care about and exclude dependencies such as node_modules. Source maps can help coverage reports point back to original source files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Vite

For a Vite application, use vite-plugin-istanbul and configure it for the relevant application files. Ensure instrumentation is enabled in the build or server configuration used by the Cypress run; a separate uninstrumented build will not produce application coverage.

Other build systems

For other bundlers, follow the Cypress Istanbul guidance for the relevant Babel or nyc setup. The key requirement is the same: the browser must execute instrumented application code. Instrumenting only the Cypress tests measures the wrong code for application coverage.

Install and configure Cypress coverage collection

Install @cypress/code-coverage using the package manager used by your project, then register both its support hook and Node task.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
npm install --save-dev @cypress/code-coverage

In the support file for the Cypress testing mode you run, add:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
import '@cypress/code-coverage/support'

In the Cypress configuration file, register the plugin task from setupNodeEvents and return the configuration object:

const { defineConfig } = require('cypress')

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      require('@cypress/code-coverage/task')(on, config)
      return config
    },
  },
})

Use the equivalent configuration format if your project uses TypeScript or ES modules. Preserve and return the config object, particularly if other setup code changes its environment values.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

End-to-end and component testing

The plugin can be used with either Cypress E2E or component tests, but each mode has its own support file. For component testing, import @cypress/code-coverage/support in the component support file; adding it only to the E2E support file does not configure component runs.

Check Cypress compatibility

The Cypress plugin listing reports @cypress/code-coverage 4.0.3, updated March 2026, for Cypress 15.10.0 and later. If you use another Cypress version, verify the plugin’s current compatibility before adopting this configuration; do not assume the latest listed version supports older installations.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run Cypress and verify the generated report

Run Cypress using the project command that starts or builds the instrumented application. The exact command depends on your bundler, test mode, and existing scripts, so there is no universal Cypress command that reliably enables instrumentation for every project.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

The plugin combines coverage data under .nyc_output and generates an HTML report in coverage. Open coverage/index.html locally to inspect which files and lines were measured. For a compact terminal summary, run:

npx nyc report --reporter=text-summary

If the report is empty, confirm that the application served to Cypress is instrumented and that the tested source files match the instrumentation include patterns. Preserve the coverage directory as a CI artifact when developers need to browse the report after a run.

Upload the report from CI

Make the Codecov upload a distinct step after Cypress has completed and the coverage report exists in the job workspace. Codecov’s current quick start recommends its CLI and repository upload token; its GitHub Actions guidance shows codecov/codecov-action@v5 with a CODECOV_TOKEN secret. Token requirements vary with repository visibility and CI context, so use Codecov’s current instructions for your exact setup rather than copying an older workflow uncritically.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

GitHub Actions example

This workflow illustrates the order of operations. Replace the Cypress command with the one that enables your project’s instrumentation and runs the appropriate Cypress mode.

steps:
  - uses: actions/checkout@v7
  - name: Run Cypress and create coverage
    run: <project-specific Cypress command with instrumentation enabled>
  - name: Upload coverage reports to Codecov
    uses: codecov/codecov-action@v5
    env:
      CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

Keep the token in your CI secret store, not in source control. For CI providers other than GitHub Actions, select a supported Codecov upload method for that provider and ensure the report is available to the uploader. Cypress also maintains a GitHub Actions guide for setting up its test runs.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choose the right coverage scope

  • Frontend-only: Instrument the frontend and upload the coverage generated by Cypress. This is appropriate when the question is which client-side source files the browser tests exercised.
  • Full stack: Cypress documents merging instrumented backend coverage with frontend coverage when you need one report across both. Configure and verify both sources rather than assuming browser coverage includes server code.
  • Multiple Cypress modes: Ensure each mode has its own support import and that the reports you intend to upload are present before the upload step.

Troubleshooting common failures

  • No coverage data or an empty report: The application may not have been instrumented, Cypress may be visiting an uninstrumented build, or the instrumenter’s include patterns may exclude the tested files. Verify instrumentation in the exact app instance used by Cypress.
  • Component tests produce no coverage: Add the plugin support import to the component support file, not only the E2E support file.
  • The plugin task is missing: Check that @cypress/code-coverage/task is registered in setupNodeEvents and that the configuration returns config.
  • Coverage appears locally but Codecov has no report: Confirm the upload step runs after report generation and in the same workspace, and check the provider-specific token requirements and upload logs.
  • Report paths do not resolve to original source: Review source-map configuration for the instrumentation and bundler setup.
  • Configuration works on one Cypress version but not another: Check the plugin’s compatibility range against your installed Cypress version before changing the workflow.

Or skip the browser setup

ScreenshotNeo is a separate website screenshot API and MCP server, not a Cypress coverage collector or Codecov uploader. If you also need website screenshots, one GET request can return an image or PDF. The example below saves a screenshot of the Stripe homepage; see the ScreenshotNeo API documentation for request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, failed loads, timeouts, and cache hits are not billed. Its MCP server provides screenshot tools for AI agents, and the Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo’s free plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Does Cypress automatically measure application coverage?

No. Your application must be instrumented by its build or bundler before Cypress runs.

Can Cypress coverage tell me whether users exercised every UI element?

No. Source-code coverage tracks executed code; UI Coverage concerns which interface elements were touched.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.