2015-10-08 23 views
6

Qualcuno ha un esempio di un progetto cetriolo con sbt 0.13 e Scala 2.11?Come si esegue cetriolo con Scala 2.11 e sbt 0.13?

  1. ho bisogno sia la cucumber-scala_2.11 e sbt-cucumber-plugin" % "0.8.0" (è quel plugin fino ad oggi)?
  2. Dove va ora il plugin?
  3. Dove vanno i file .feature?
  4. Dove vanno i test dei cetrioli?
  5. Come si eseguono i test da sbt?
  6. (opzionale) Come posso eseguire i test da IntellJ (15)?

risposta

8

Ok, ho trovato una soluzione con il seguente avvertimento: non sto usando sbt.

Idea

Scriverà prima le funzioni di cetriolo ei passaggi. Poi scriveremo una classe "Runner", che sarà gestito da corridore JUnit (che sarà ignaro della presenza di cetriolo)

Procedura

Fase 1. Dipende solo da una cosa per la scrittura di funzioni e passaggi di cetriolo!

libraryDependencies += "info.cukes" % "cucumber-scala_2.11" % "1.2.4" 

Fase 2: Ora noi dipendiamo da JUnit (per la scrittura del corridore delle nostre prove) e raccolta connessioni cetriolo-JUnit, che ci permetterà di dicono Juni per eseguire i nostri test di cetriolo:

libraryDependencies += "info.cukes" % "cucumber-junit" % "1.2.4" 
libraryDependencies += "junit" % "junit" % "4.12" 

Fase 3: Scrivere funzionalità e gradini definizioni (dovrebbero essere collocati nella stessa cartella in prove nella mia esperienza):

# My.feature 
Feature: blah blah 
    .... 

// MySteps.scala 
... 

Fase 4: Scrivere la nostra prova corridore:

import cucumber.api.junit.Cucumber 
import org.junit.runner.RunWith 
@RunWith(classOf[Cucumber]) 
class RunTests extends { 
} 

Fase 5: (opzionale) Integrazione con IntelliJ

a) Attiva JUnit in IntelliJ. Questo ci permetterà di eseguire test di cetriolo eseguendo il nostro junit runner. Bellissimo!

  1. File
  2. Impostazioni ...
  3. Plugin
  4. Cerca "JUnit" e assicurarsi che sia abilitato

    Ora siamo in grado di eseguire i nostri test di cetriolo con la semplice clic destro sul .feature e selezionare Esegui!

b) Attiva Cetriolo a Scala IntelliJ plugin. (assicurati che il plug-in Scala sia abilitato). Ciò consente a IntelliJ di determinare come associare i file di feature ai file scala. Senza questa caratteristica i file saranno sempre evidenziati in giallo con un errore undefined step reference:

  1. file
  2. Impostazioni ...
  3. Plugin
  4. Sfoglia repository ...
  5. ricerca per "cetriolo a Scala "
  6. Installa Cucumber for Scala plug-in
  7. Restart IntelliJ.

    Ora i file delle funzioni saranno evidenziati correttamente!

Risorse utili

  1. tutorial di Java per il cetriolo, che mi ha portato a questa soluzione: https://c0deattack.wordpress.com/2012/03/28/cucumber-jvm-with-cucumber-java-cucumber-junit-example/
  2. cetriolo chat room dove le persone sono super disponibile: https://gitter.im/cucumber/chat
  3. Struttura di directory (si noti che in sembra che abbiamo bisogno di mettere entrambi i file di funzionalità e passi nella stessa cartella: tuttavia l'idea dei singoli corridori è interessante): http://www.hascode.com/2014/12/bdd-testing-with-cucumber-java-and-junit/#Directory_Structure