diff --git a/README.md b/README.md index 75f5ede6..acf44068 100644 --- a/README.md +++ b/README.md @@ -251,6 +251,21 @@ After: ![Cypress knows to expect the backend code coverage only](./images/expect-backend.png) +### expectFrontendCoverageOnly + +If there is ONLY frontend code coverage, set `expectFrontendCoverageOnly: true` in the `cypress.json` file. Otherwise, Cypress complains that it cannot find the frontend code coverage. + +```json +{ + "env": { + "codeCoverage": { + "url": "http://localhost:3003/__coverage__", + "expectFrontendCoverageOnly": true + } + } +} +``` + ## Custom report folder You can specify a custom report folder by adding `nyc` object to the `package.json` file. For example, to save reports to `cypress-coverage` folder, use: diff --git a/support.js b/support.js index d6f427b6..a5e52851 100644 --- a/support.js +++ b/support.js @@ -148,10 +148,19 @@ const registerHooks = () => { const baseUrl = Cypress.config('baseUrl') || cy.state('window').origin // @ts-ignore const runningEndToEndTests = baseUrl !== Cypress.config('proxyUrl') + const expectFrontendCoverageOnly = Cypress._.get( + Cypress.env('codeCoverage'), + 'expectFrontendCoverageOnly', + false + ) const specType = Cypress._.get(Cypress.spec, 'specType', 'integration') const isIntegrationSpec = specType === 'integration' - if (runningEndToEndTests && isIntegrationSpec) { + if ( + !expectFrontendCoverageOnly && + runningEndToEndTests && + isIntegrationSpec + ) { // we can only request server-side code coverage // if we are running end-to-end tests, // otherwise where do we send the request?