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.
⚠️ This plugin and the features inside of it are experimental. We want to collect developer feedback, but they are not stable or fully-featured yet. Please read other experiments here
⚠️ Requires Cypress v4.5.0 or later
# 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:
cypress open
are also supported;--headless
mode, all Cypress CLI options for cypress run
are also supported.Examples :
vue-cli-service test:component --headless --spec tests/components/specs/actions.spec.js
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.