Cum utilizam beforeEach si afterEach in CypressJS?

Se intampla uneori in testarea automata cu CypressJS sa ai nevoie de unele actiuni inainte sau dupa executarea fiecarui test in parte. Pentru a nu copia codul care vrei sa se execute in fiecare din cele 50-100-500 de teste automate pe care lei ai, poti sa folosesti functiile beforeEach si afterEach intr-un mod mult mai elegant.

beforeEach

Este o functie din CypressJS care permite rularea anumitor actiuni inainte de fiecare test. Aceasta functie se poate folosi pentru a ne asigura ca fiecare test este executat intr-un mediu curat si consistent. Sa presupunem ca avem o aplicatie web care necesita stergerea cookie-urilor inaintea fiecarui test. Pentru a face acest lucru in CypressJS, putem utiliza “beforeEach” si astfel executam actiunea de clearCookies inainte de fiecare test.

describe('Testare aplicatie', () => {
  beforeEach(() => {
    cy.clearCookies();
  })

  it('Testare functionalitate 1', () => {
    // testare functionalitate 1
  })

  it('Testare functionalitate 2', () => {
    // testare functionalitate 2
  })

...
})

afterEach

Este o functie din CypressJS care permite executarea unui anumit cod dupa ce fiecare test dintr-un fisier de teste a fost finalizat. De exemplu, sa spunem ca ai nevoie sa resetezi baza de date după fiecare test. Pentru aceasta, poti utiliza afterEach executand codul de mai jos care va reseta baza de date utilizând comanda “npm run reset-db“.

describe('Testare aplicatie', () => {
  afterEach(() => {
    cy.exec('npm run reset-db')
  })

  it('Testare functionalitate 1', () => {
    // testare functionalitate 1
  })

  it('Testare functionalitate 2', () => {
    // testare functionalitate 2
  })
...
})

Daca esti interesat de testarea automata si te gandesti la un viitor job in IT pe partea de QA, iti recomand cursul meu de Testare Software (bestseller pe platforma Udemy).

Radu Popescu

https://RaduPopescu.ro

Fondatorul comunitatii VlogDeIT. IT-ist generalist pasionat de zona de marketing/business. Ajut tinerii sa inteleaga domeniul IT din Romania si sa se angajeze mai usor.

Related post