Package Exports
- @nkduy/cli-plugin-e2e-cypress
- @nkduy/cli-plugin-e2e-cypress/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@nkduy/cli-plugin-e2e-cypress) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@nkduy/cli-plugin-e2e-cypress
e2e-cypress plugin for kdu-cli
This adds E2E testing support using Cypress.
Cypress offers a rich interactive interface for running E2E tests, but currently only supports running the tests in Chromium. If you have a hard requirement on E2E testing in multiple browsers, consider using the Selenium-based @nkduy/cli-plugin-e2e-nightwatch.
Injected Commands
kdu-cli-service test:e2e
Run e2e tests with
cypress run
.By default it launches Cypress in interactive mode with a GUI. If you want to run the tests in headless mode (e.g. for CI), you can do so with the
--headless
option.The command automatically starts a server in production mode to run the e2e tests against. If you want to run the tests multiple times without having to restart the server every time, you can start the server with
kdu-cli-service serve --mode production
in one terminal, and then run e2e tests against that server using the--url
option.Options:
--headless run in headless mode without GUI --mode specify the mode the dev server should run in. (default: production) --url run e2e tests against given url instead of auto-starting dev server -s, --spec (headless only) runs a specific spec file. defaults to "all"
Additionally:
- In GUI mode, all Cypress CLI options for
cypress open
are also supported; - In
--headless
mode, all Cypress CLI options forcypress run
are also supported.
Examples :
- Run Cypress in headless mode for a specific file:
kdu-cli-service test:e2e --headless --spec tests/e2e/specs/actions.spec.js
- In GUI mode, all Cypress CLI options for
Configuration
We've pre-configured Cypress to place most of the e2e testing related files under <projectRoot>/tests/e2e
. You can also check out how to configure Cypress via cypress.json
.
Environment Variables
Cypress doesn't load .env files for your test files the same way as kdu-cli
does for your application code. Cypress supports a few ways to define env variables but the easiest one is to use .json files (either cypress.json
or cypress.env.json
) to define environment variables. Keep in mind those variables are accessible via Cypress.env
function instead of regular process.env
object.
Installing in an Already Created Project
kdu add e2e-cypress