Experimental Cypress Plugin, provides component testing among other feature flags
Cypress offers a rich interactive interface for running tests in the browser. This Vue plugin is a quick way to install experimental features like component testing. Find out more about component testing here.
# Add it
vue add cypress-experimental
# Run it
npm run test:component # yarn test:components
-
vue-cli-service test:components
Run component tests with
cypress open
.By default it launches Cypress in interactive mode with a GUI. This allows you to view the components as they are being tested. If you want to run the tests in headless mode (e.g. for CI), you can do so with the
cypress run
option.Options:
--headless run in headless mode without GUI -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:
vue-cli-service test:component --headless --spec tests/components/specs/actions.spec.js
- In GUI mode, all Cypress CLI options for
We've pre-configured Cypress to place most of the component testing related files under <projectRoot>/tests/components
. You can also check out how to configure Cypress via cypress.json
.
To place the component tests sibling to your source files, just change the componentFolder
option in your cypress.json file to point to the root of your source directory.
Cypress doesn't load .env files for your test files the same way as vue-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.