2015-06-02 15 views
9

Ho file della caratteristica cetriolo trova al di sotto del percorso sul mio locale:Come eseguire file di cetriolo da linea di comando

C:\ProjectWork\Workspace\Cucumber\DIT_Cucumber\src\cucumber\featureOne.feature 

e vaso Junit al di sotto Località:

C:\DurgeshProjectWork\Workspace\JarFiles\junit-4.11.jar 

Quando ho provato diversi comandi come sotto per eseguire il file di caratteristiche dal prompt dei comandi ma sempre lo stesso errore di

Could not fine class 

Sotto un re i comandi che ho usato: Comando 1:

C:\>java -cp C:\ProjectWork\Workspace\JarFiles\junit-4.11.jar org.junit.runner.JUnitCore C:\DurgeshProjectWork\Workspace\Cucumbe 
r\DIT_Cucumber\bin\cucumber\featureOne.feature 

Comando 2:

C:\ProjectWork\Workspace\Cucumber\DIT_Cucumber\src\cucumber>java -cp C:\ProjectWork\Workspace\JarFiles\junit-4.11.jar org 
.junit.runner.JUnitCore featureOne.feature 

la prego di aiutarmi a eseguire questo file funzione da linea di comando. Grazie in anticipo.

+0

HI Team, Qualsiasi suggerimento ??????? Non ho ancora ricevuto alcuna risposta. Grazie! – Durgesh

risposta

9

JUnit approccio

Se si utilizza JUnit, è possibile eseguire il test nello stesso modo in cui si eseguire un test JUnit sulla riga di comando:

java -cp <classpath> org.junit.runner.JUnitCore com.example.test.RunCukesTest 

dove RunCukesTest è la prova di unità che i set tutte le opzioni di cetriolo, ad esempio:

package com.example.test; 

import org.junit.runner.RunWith; 

import cucumber.api.junit.Cucumber; 
import cucumber.api.CucumberOptions; 

@RunWith(Cucumber.class) 
@CucumberOptions(plugin = "json:target/report.json") 
public class RunCukesTest { 
} 

Cetriolo-JVM approccio

È anche possibile utilizzare il cetriolo-JVM sulla riga di comando:

java -cp <classpath> cucumber.api.cli.Main \ 
    --glue com.example.test \ 
    --plugin pretty path/to/features 

Maven

La sfida in entrambi i casi precedenti è quello di costruire il percorso di classe e fare sicuro che tutte le dipendenze siano state caricate correttamente, incluse le tue classi e i file delle caratteristiche. Una soluzione più semplice sarebbe utilizzare, ad esempio, Maven to define all the deps; eseguire i test viene poi così semplice come:

mvn verify 
+0

Grazie per informazioni dettagliate, puoi chiarire anche come fare con gradle? gradle sta sostituendo Maven e sarà bello includerlo anche nella risposta. Grazie, Vikram – vikramvi

+0

Ciao, che ne dici di usare 'cucumber.options' dalla riga di comando senza Maven? Sai come usarlo? – zaratustra

0

Cetriolo con Java:

Run Caratteristica: java -cp "vasetti/*" cucumber.api.cli.Main -p abbastanza dispone

compilazione di file Passo Definizione: javac -cp "vasetti/*" step_definition/StepDef.java

Esegui Scenario: java -cp "vasetti/* ;." cucumber.api.cli.Main -p pretty -g caratteristiche step_definition

+0

Qui le funzionalità sono la directory dei file delle caratteristiche e step_definition è una directory dei file di Definizione Step. –

+0

come specificare più tag --tags con più tag? – user578219