🎯 Intention


Écrire des bons tests Cypress permet de garantir leur fiabilité et leur rapidement. Si la suite de test est trop lente, alors l’équipe a tendance à abandonner Cypress.

<aside> ✅ Pré-requis

✅ Points clés


<aside> ⌛ Temps indicatif : 1h

</aside>

Etape

Visuel / Exemple


🔗 Créer une commande pour se connecter à l’application

Raison :

Permet d’accélérer l’ensemble de la batterie de test

❌ BAD
Cypress.Commands.add('login', (username, password) => {
  cy.visit('/login')
  cy.get('[data-test=username]').type(username)
  cy.get('[data-test=password]').type(password)
  cy.get('#login').click()
  cy.url().should('contain', '/login-successful')
})
âś… GOOD
Cypress.Commands.add('login', (username, password) => {
  cy.session([username, password], () => {
    cy.visit('/login')
    cy.get('[data-test=username]').type(username)
    cy.get('[data-test=password]').type(password)
    cy.get('#login').click()
    cy.url().should('contain', '/login-successful')
  })
})

🔗 Sélectionner des éléments avec data-test

Raison :

Permet d’éviter qu’un test échoue plus tard

source: https://docs.cypress.io/guides/references/best-practices#Selecting-Elements

source: https://docs.cypress.io/guides/references/best-practices#Selecting-Elements


❌ Erreurs type à éviter


(L’erreur type est de) VERBE + description : cas limite, mauvais résultat au lieu de résultat attendu, etc.