@Before wird nicht in Java Cucumber Step ausgeführt

8

Ich habe eine Cucumber-Step-Klasse, die versucht, ein Seitenmodell für alle Szenarien zu initialisieren. Also habe ich eine @Before-Methode hinzugefügt:

%Vor%

Ich habe dann eine Reihe von Schritten, die darauf basieren, dass loginPage gesetzt wird. z.B.

%Vor%

Ich habe mehrere Step-Klassen. Beide oben genannten Methoden sind in der gleichen Step-Klasse. LoginPage ist jedoch immer null. Die beforeScenario-Methode wird nie aufgerufen. Habe ich völlig missverstanden, wie @Before arbeiten soll? Irgendwelche Tipps, um zu bekommen, was ich arbeiten möchte?

Bearbeiten: Ich habe auch eine @ Annotated-Methode, die nach jedem Szenario wie erwartet ausgeführt wird.

Bearbeiten: Pom kann bei Ссылка

gesehen werden     
Peter Wilkinson 04.06.2014, 04:58
quelle

2 Antworten

20

Stellen Sie sicher, dass Sie cucumber.annotation.Before und nicht org.junit.Before verwenden. Gurke verarbeitet keine JUnit-Annotationen.

Weitere Informationen finden Sie im Abschnitt "Szenario-Hooks" von diesem Blogpost

    
Matt Watson 15.06.2014, 21:48
quelle
6

Es gibt eine akzeptierte Antwort auf diese Frage, aber ich wollte den Kommentar von Matt Watson hervorheben, der das Problem für mich gelöst hat und für den ich an anderer Stelle keinen ähnlichen Rat gefunden habe:

  

Ich habe mit einigen meiner gurke-jvm-Tests gespielt, und ich glaube, ich habe es entdeckt. Ihre @Before Methode sollte public anstatt private

sein

Die @Before Methode muss public sein.

    
ndurante 19.01.2016 19:45
quelle

Tags und Links