Cypress ESLint Plugin
An ESLint plugin for your Cypress tests.
Specifies globals for Cypress
Cypress, browser and mocha globals.
npm install eslint-plugin-cypress --save-dev
.eslintrc.json file to your
cypress directory with the following:
These rules enforce some of the best practices recommended for using Cypress. Use them by adding the following to your eslint config:
Rules with a check mark (✅) are enabled by default while using the
NOTE: These rules currently require eslint 5.0 or greater. If you would like support added for eslint 4.x, please 👍 this issue.
|✅||no-assigning-return-values||Prevent assigning return values of cy calls|
|✅||no-unnecessary-waiting||Prevent waiting for arbitrary time periods|
|assertion-before-screenshot||Ensure screenshots are preceded by an assertion|
Using an assertion such as
expect(value).to.be.true can fail the ESLint rule
no-unused-expressions even though it's not an error in this case. To fix this, you can install and use eslint-plugin-chai-friendly.
npm install --save-dev eslint-plugin-chai-friendly
To add a new rule:
- Fork and clone this repository
- Generate a new rule (a yeoman generator is available)
- Write test scenarios then implement logic
- Describe the rule in the generated
- Make sure all tests are passing
- Add the rule to this README
- Create a PR