2016-07-29 23 views
1

Ich bin neu in Gurke erwähnen, und erstellt eine Beispielanwendung ist die Ordnerstruktur es Cucumber folder structureWie voll Kleinklassennamen in Leim Attribut in Gurke

Code Meine Testrunner Klasse

@RunWith(Cucumber.class)  
@CucumberOptions(features = "Feature/SampleTest.feature",  
       glue = { "com.testSteps.Test_Steps" }) 
public class TestRunner { 

} 
ist

Nun ist meine Step-Definition-Klasse Test_Steps, aber wenn ich diese Klasse in Kleber Attribut ie glue = { "com.testSteps.Test_Steps" } erwähnen, dann Test Runner ist nicht in der Lage, die Test-Definition-Klasse zu finden. Unterhalb Konsolenausgabe Ich erhalte

You can implement missing steps with the snippets below: 

@Given("^User is on Home Page$") 
public void user_is_on_Home_Page() throws Throwable { 
    // Write code here that turns the phrase above into concrete actions 
    throw new PendingException(); 
} 

Bitte helfen Sie mir Schritt Definition Klasse mit Leim Attribut zu definieren, da im Falle ich mehrere Schrittdefinition Klassen in meinem Schritt Definition Ordnerstruktur haben, dann wie kann ich bestimmte Schrittdefinition Klasse in Leim Attribut Ziel ?

Antwort

0

Der glue Parameter in Ihrem @CucumberOptions muss auf ein Paket zeigen, keine Klasse. Also in Ihrem Fall:

glue = {"com.testSteps.", "", ...} 

Und Sie features Parameter in einen Ordner mit allen Feature-Dateien zeigen sollte. Es kann auch Unterverzeichnisse haben.

+0

Vielen Dank für die Antwort, ich weiß das zu schätzen. Ich habe zwei Step-Definition-Klassen in meinem "com.testSteps" -Paket. Wie kann ich also auf bestimmte Schrittdefinitionsklassen abzielen, die für Feature-Dateien erstellt wurden? – Ufaq

+0

@Ufaq Sie können nur einen ganzen Ordner als Ziel festlegen. Wenn Sie nur auf bestimmte Funktionen zeigen müssen, legen Sie sie in einem separaten Ordner ab. –