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 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
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
sein@Before
Methode solltepublic
anstattprivate
Die @Before
Methode muss public
sein.