Ich möchte meine Akzeptanztests in eine ausführbare JAR packen, wo alle notwendigen Bibliotheken enthalten sind, um die Tests auszuführen und die Berichte zu generieren. Ich möchte auch entweder alle Tests oder einen einzigen Test durchführen.Führen Sie ein einzelnes Gurken-Szenario aus einer ausführbaren JAR
Bisher bin ich in der Lage, alle Tests auszuführen, und obwohl Berichte an dem Speicherort generiert werden, den ich in serenity.properties angegeben habe, wird die index.html NICHT generiert.
Normalerweise würde ich meine Tests mit Maven Verify Ziel ausführen, die das Serenity-Maven-Plugin laufen würde, aber da ich von einem JAR laufen, bin ich mir nicht sicher, wie ich das gleiche erreichen kann.
Ich habe eine Hauptklasse, die wie folgt aussieht:
@RunWith(CucumberWithSerenity.class)
@CucumberOptions(features = "classpath:com/cfhayes/test/LookupADefinition.feature")
public class DefinitionTestSuite {
public static void main(String[] args) throws Exception {
JUnitCore.main("com.cfhayes.test.DefinitionTestSuite");
}
}
Und meine Feature-Datei verwendet, so Tags, dass ich ein einzelnes Szenario ausführen angeben:
Feature: Lookup a definition
@TEST-0001
Scenario: Looking up the definition of 'apple'
Given the user is on the Wikionary home page
When the user looks up the definition of the word 'apple'
Then they should see the definition 'A common, round fruit produced by the tree Malus domestica, cultivated in temperate climates.'
@TEST-0002
Scenario: Looking up the definition of 'pear'
Given the user is on the Wikionary home page
When the user looks up the definition of the word 'pear'
Then they should see the definition 'An edible fruit produced by the pear tree, similar to an apple but elongated towards the stem.'
Ich hoffe, es ist ein Weg, wie ich JVM Args mit der ausführbaren JAR verwenden kann, die mir irgendwie erlauben würde, die Gurkenoptionen einzustellen. Ich habe versucht, etwas wie folgt:
java -jar my-test-jar.jar -Dcucumber.options="--tags @TEST-0001"
... aber das läuft immer noch alle Tests.
Alle Ideen würden sehr geschätzt werden.
Genau das, was ich gerade brauche. Hast du irgendeine Lösung gefunden? – yuva
Ja, das Problem, das ich hatte, war einfach die Reihenfolge der Befehlszeilenargumente. Hier ist die Befehlszeile, die ich verwenden musste: java -Dcumber.options = "- Tags @ TEST-0001" -jar my-test-jar.jar Keine anderen Änderungen wurden benötigt. – cfhayes
Hier ist ein Arbeitsbeispiel, das Sie sich ansehen können: https://github.com/ch88251/cucumber-senenity-example – cfhayes