Cetriolo e JUnit sono diversi e risolvono cose diverse.
Cucumber è un framework BDD (Behavior Driven Design) che prende "storie" o scenari scritti in lingue leggibili come l'inglese e trasforma quei testi leggibili in un test del software.
qui è una storia Esempio cetriolo:
cetriolo poi sa come trasformare questo testo in un test del software per assicurarsi che il software funziona come descritto. L'uscita vi dirà se la storia è in realtà ciò che il software fa e se no, che cosa era diversa:
Ecco dove il codice è fissato per far passare il test di cetriolo:
Questo rende quella che viene chiamata una "Specifica eseguibile" che è un bel modo di documentare tutte le funzionalità supportate dal software. Questo è diverso dalla normale documentazione perché senza il test corrispondente, qualcuno che legge il documento non sa se la documentazione è aggiornata.
Altri vantaggi di eseguibili Specifiche:
- non-programmatori possono leggere e comprendere i test
- non-programmatori possono scrivono i test dal momento che sono in inglese.
I risultati BDD e le specifiche eseguibili sono di livello molto elevato. Coprono le caratteristiche generali e forse alcuni casi limite come esempi ma non testano tutte le condizioni possibili o ogni percorso di codice. Anche i test BDD sono "test di integrazione" in quanto testano il funzionamento di tutti i moduli di codice, ma non eseguono alcun test completo.
Qui JUnit entra.
JUnit è un livello utensile inferiore "test Unit" che consente agli sviluppatori di testare ogni possibile percorso di codice nel codice. Ogni modulo del tuo codice (o classi, o anche metodi) è testato in isolamento. È molto più basso di un quadro BDD. Utilizzando la stessa storia della calcolatrice dell'esempio di Cucumber, i test di JUnit testano molti esempi di calcolo diversi e input non validi per assicurarsi che il programma risponda correttamente e calcoli correttamente i valori.
Speranza che aiuti
Che vergogna per i 3 downvoters! Questa è una domanda valida per chiunque sia nuovo al cetriolo e all'unità di prova. –