Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 1.31 KB

no-async-before.md

File metadata and controls

51 lines (38 loc) · 1.31 KB

Disallow using async/await in Cypress before methods (cypress/no-async-before)

Cypress commands that return a promise may cause side effects in before/beforeEach hooks, possibly causing unexpected behavior.

Rule Details

This rule disallows using async before and beforeEach functions.

Examples of incorrect code for this rule:

describe('my feature', () => {
  before('my test case', async ()  => {
    await cy.get('.myClass')
    // other operations
  })
})
describe('my feature', () => {
  before('my test case', async ()  => {
    cy
    .get('.myClass')
    .click()

    await someAsyncFunction()
  })
})

Examples of correct code for this rule:

describe('my feature', () => {
  before('my test case', ()  => {
    cy.get('.myClass')
    // other operations
  })
})

When Not To Use It

If there are genuine use-cases for using async/await in your before hooks then you may not want to include this rule (or at least demote it to a warning).

Further Reading