2016-07-03 19 views
0

Ich bin in der Lage, meine Gurke Runner-Datei (als JUnit) ohne Probleme laufen. Tests werden aufgenommen und laufen gut.Gurke Runner-Dateien ist nicht in der Lage, Features/Klassen zu übernehmen, wenn von maven laufen

Aber wenn ich durch Maven laufen, obwohl Maven auf die Runner-Datei zeigt, nicht in der Lage, Tests durchzuführen.

Finden Sie meine Maven-Logs und pom.xml-Datei. Kann mir jemand helfen, was in pom.xml fehlt? oder Eclipse-Konfiguration?

[INFO] Scanning for projects... 
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building LinenHousePOC 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ LinenHousePOC --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory E:\Programming\Cucumber\LinenHousePOC\src\main\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ LinenHousePOC --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ LinenHousePOC --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] Copying 0 resource 
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ LinenHousePOC --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ LinenHousePOC --- 
[INFO] Surefire report directory: E:\Programming\Cucumber\LinenHousePOC\target\surefire-reports 

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
Running runners.RunnerTest 
Configuring TestNG with: [email protected]52 
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.041 sec 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 13.463 s 
[INFO] Finished at: 2016-07-03T10:45:17+05:30 
[INFO] Final Memory: 8M/19M 
[INFO] ------------------------------------------------------------------------ 

Es folgt mein pom.xml:

<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>LinenHousePOC</groupId> 
    <artifactId>LinenHousePOC</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.2.1</version> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>info.cukes</groupId> 
      <artifactId>cucumber-java</artifactId> 
      <version>1.2.4</version> 
     </dependency> 
     <dependency> 
      <groupId>info.cukes</groupId> 
      <artifactId>cucumber-picocontainer</artifactId> 
      <version>1.2.4</version> 
     </dependency> 
     <dependency> 
      <groupId>info.cukes</groupId> 
      <artifactId>cucumber-junit</artifactId> 
      <version>1.2.4</version> 
     </dependency> 
     <dependency> 
      <groupId>info.cukes</groupId> 
      <artifactId>cucumber-testng</artifactId> 
      <version>1.1.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>2.47.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.9.10</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.relevantcodes</groupId> 
      <artifactId>extentreports</artifactId> 
      <version>2.41.0</version> 
     </dependency> 
    </dependencies> 
</project> 
+1

Können Sie bitte auch Ihre Gurken-Läufer-Klasse posten? –

+0

Sie vermissen den Build-Schritt in POM –

+0

Wie lautet der Dateiname Ihrer Runner-Klasse? Ich sehe nicht, dass Sie maven POM angegeben haben, um eine bestimmte Runner-Datei in Ihrer Konfiguration zu verwenden. Verwenden Sie include-Tag, um den Namen der Runner-Datei anzugeben. –

Antwort

0

-Update in Ihrem POM bauen !!

Verwenden Sie unter Konfiguration und führen Sie mvn clean verify. Wenn Sie Tests nicht parallel ausführen möchten, entfernen Sie die Tags parallel, perCoreThreadCount und threadCountClasses. Achten Sie darauf, den regulären Ausdruck aktualisieren Sie Ihre Testnamenskonvention **/Run * .java

  <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.16</version> 
       <executions> 
        <execution> 
         <id>acceptance-test</id> 
         <phase>integration-test</phase> 
         <goals> 
          <goal>test</goal> 
         </goals> 
         <configuration> 
          <outputEncoding>UTF-8</outputEncoding> 
          <parallel>classes</parallel> 
          <perCoreThreadCount>true</perCoreThreadCount> 
          <threadCountClasses>10</threadCountClasses> 
          <argLine>-Xmx1024m</argLine> 
          <argLine>-XX:MaxPermSize=256m</argLine> 
          <includes> 
           <include>**/Run*.java</include> 
          </includes> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
0

Die Ausführung der Tests anzupassen von IDE, die Tests von Command Line (Maven) von der Ausführung unterscheidet.

In IDE, der Konfiguration, werden die Kontextvariablen automatisch initialisiert oder ausgewählt, wenn wir die Tests aufrufen. Wie bei der Maven-Ausführung müssen einige Parameter explizit erwähnt werden.

, wenn Sie rufen einen Test in:

Ausführen von Tests mit Maven (Kommandozeile)

mvn clean test -Dcucumber.options="--format json-pretty --glue classpath:src/test/resources"

Der obige Befehl wird den Leim, von wo aus die Tests müssen neu eingestellt durch abgeholt werden maven, um die Tests aufzurufen.

Dieser Kleber Informationen ist die gleiche wie die Informationen als Eingabe in die in den CucumberOptions

Ausführen von Tests mit Maven CucumberRunner.java geleitet (unter Verwendung von Maven Profile)

um ein Profil erstellen und die cucumber.options passieren, wie Eingabeparameter wie unten gezeigt:

<profiles> 
    <profile> 
    <id>cucumber-tests</id> 
    <properties> 
     <cucumber.options>--glue src/test/resources</cucumber.options> 
    </properties> 

    . . . 
    </profile> 
</profiles>