jbehave e cetriolo sono fotogrammi completamente diversi, sebbene siano progettati per lo stesso scopo: test di accettazione. Si basano su storie (jbehave) o caratteristiche (cetriolo). Una caratteristica è una raccolta di storie, espressa dal punto di vista di un partecipante specifico del progetto. Nei suoi test, si riferisce a storie, di solito attraverso la concordanza di espressioni regolari.
jbehave è un telaio di java puro, mentre il cetriolo è basato su rubino. Entrambi sono fotogrammi molto maturi. Puoi usare il cetriolo Java attraverso il plugin Moven Cuke4Duke di Maven, ma c’è ancora una mancanza di corrispondenza del linguaggio, in quanto continua a usare Ruby internamente e dovrà installare questa lingua e la sua infrastruttura (le cosiddette “gemme”) La macchina che esegue i test. Questo può essere fragile e il mancata corrispondenza della lingua complica sia il debug e previene le prestazioni dei suoi test. Ora c’è una pura implementazione del cetriolo Java che si chiama Cetriolo-JVM. A partire da dicembre 2011, non è stato ancora pubblicato, ma è perfettamente utilizzabile (Modifica: versione 1.0.0 il 27 marzo 2012 è stato lanciato). Questo nuovo telaio è molto simile a Jbehave poiché entrambi hanno un supporto nativo junit.
Di seguito è un confronto di cetrioli-jvm e jbehave.
Atometà:
- Supporto Junit fuori dalla scatola
- Pure Java
- Fast
- Facile da usare
Pro / contro Jbehave :
- Pro Ottima documentazione
- forma formato html abbastanza bene dei risultati dei test
- con solo storie, senza funzionalità
Pro / contro di cetriolo-jvm:
- pro support funzionalità
- con non supporta test paralleli junit. Tuttavia, verrà lavorato con costruzioni parallele di Maven 3.
- Documentazione
- senza un grazioso formato HTML dei risultati del test, a parte il proprio formato di Jubit (Modifica: cetriolo- JVM ora supporta l’uscita HTML)
Se sei in un progetto Java, consiglierei Jbehave (se stai cercando una bella documentazione) o il cetriolo-jvm (se il supporto funzionalità o le storie È importante per te).
Ho provato entrambi i framework e ha attraversato il cetriolo-jvm.