Utilizza sia il selenio che il Mocha ridondante?

1

Sto imparando React + Redux ora e sono arrivato alla sezione testing. Molte persone usano Mocha o Jest per testare i componenti React, finora così buoni, ha senso.

In precedenza ho esperienza con l'uso del selenio e vedo che Mocha è piuttosto diverso nel senso che mette alla prova solo piccole parti di una pagina web (ReactComponents) e non l'intera pagina. Quindi nella mia comprensione, testare in Mocha è qualcosa come "unit test" per componenti piuttosto che lunghi test funzionali con storie di utenti e comportamento degli utenti.

Considerando la possibilità di testare un grande progetto - ha senso utilizzare Selenium insieme a Mocha, anche con l'uso di test quasi di copia-incolla? Ad una prima occhiata facciamo qualcosa di diverso con Selenium - cioè usiamo il browser reale, ma d'altra parte se testiamo ogni possibile cosa in Mocha dovrebbe in teoria essere la situazione di "TUTTO PASSATO" se testato in Selenium comunque, non è vero? Quindi è ridondante usare entrambi e dovrei limitarmi a uno?

    
posta ScienceSamovar 16.10.2016 - 18:31
fonte

1 risposta

2

Risponderò alla mia domanda da quando mi è venuta in mente. Nota questo è il mio modo di pensare quando si tratta specificamente di React.

Quindi durante la scrittura di test in Mocha eseguiamo principalmente solo test unitari, sicuramente testiamo il corretto rendering dei singoli componenti, possiamo anche testare i dati restituiti ajax, ma scrivere test di integrazione in Mocha molto più difficile che nel Selenium. Inoltre, il selenio è facilmente reperibile dagli addetti al controllo qualità a differenza di Mocha (dal momento che Mocha si occupa maggiormente dei test white-box).

Direi che il test può essere diviso in questo modo:

  • Verifica il rendering dei singoli componenti in Mocha, ma non andare troppo in profondità (ad esempio non testare i CSS).
  • Scrivi test funzionali in Selenium e prova più cose di alto livello come i CSS.
  • Tutti i restanti test di unità front-end sono ovviamente in Mocha.

Il ragionamento è che è molto più facile ottenere un esempio reale della pagina mostrata all'utente in Selenium, in Mocha sarà una seccatura supplementare per essere sicuro che il css corretto sia caricato, per esempio. I test di rendering dei componenti in Mocha possono essere utili se si tratta di componenti strongmente riutilizzabili, quindi se si utilizza solo il selenio è necessario eseguire più test probabilmente.

Non sono sicuro che sia una pratica comune, ma quel ragionamento mi sembra giusto, sentiti libero di correggermi.

    
risposta data 16.10.2016 - 19:38
fonte

Leggi altre domande sui tag