Wie laufen cucumber-jvm-tests mit maven
Wie führe ich die Gurke tests, die ich in die folgenden Orte mit Maven.
Source-Ordner src/main/java " und "src/main/resources' enthalten Schritt-Definitionen und feature-Dateien in package 'com.testen.TestProject.login' erstellt, die für jede Quelle-Ordner.
Ich habe plugins und Abhängigkeiten in der POM-Datei, aber wenn ich laufen maven-phase integration-test, Gurken-tests werden nicht immer ausgeführt.
Ich bin neu in Maven. Bitte lassen Sie mich wissen, was in der POM-Datei, die zum ausführen der Gurken-tests mit Maven.
Hier ist meine POM-Datei:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.testing</groupId>
<artifactId>MyMavenProject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>MyMavenProject</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cucumber-jvm.version>1.1.5</cucumber-jvm.version>
<selenium.version>2.39.0</selenium.version>
<junit.version>4.11</junit.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>integration-test</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<executableDependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
</executableDependency>
<mainClass>cucumber.api.cli.Main</mainClass>
<arguments>
<argument>--format</argument>
<argument>junit:target/cucumber-junit-report/allcukes.xml</argument>
<argument>--format</argument>
<argument>pretty</argument>
<argument>--format</argument>
<argument>html:target/cucumber-html-report</argument>
<argument>--tags</argument>
<argument>@login</argument>
<argument>--glue</argument>
<argument>com/</argument>
<argument>src/</argument>
</arguments>
</configuration>
<dependencies>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.1.5</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>${cucumber-jvm.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber-jvm.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.7</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
</dependencies>
</project>
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre test-Klassen müssen am Ende mit der "Test" - suffix.
Den typischen Weg zu laufen, Cucumber JVM-tests von Maven ist, Sie zu überbrücken durch JUnit durch die Bereitstellung einer
RunCukesTest
Klasse, die Trigger Gurke von JUnit.Einem typischen RunCukesTest Klasse kann wie folgt Aussehen:
Erklärung der details:
@RunWith(Cucumber.class)
sagt JUnit nicht zu laufen diese test-Klasse mit Standard-Läufer, sondern mitCucumber
was ist ein test-runner für JUnit4 läuft, dass Gurken aus innerhalb von JUnit.@CucumberOptions
sagtCucumber
wo finden Sie Ihre Sachen. Die wichtigsten Dinge sind:features
sagtCucumber
wo finden Sie die feature-Dateien.glue
sagtCucumber
welche Pakete enthalten Schritt-Definitionen.Durch maven-standards sollten die tests werden in
src/test/java
und nicht insrc/main/java
. Ihre pom.xml sieht gut aus für mich. Ich vermute, wenn Sie importieren Sie Ihre tests und Ressourcen vonmain
zutest
Ordner, der Ihre tests ausführen sollte just fine.com/
,src/
. Auch haben Sie@login
tag in Ihrem test? Erhalten Sie irgendwelche Fehler oder die tests einfach nicht laufen?