2016-08-08 4 views
1

ich eine Reihe von JBehave Tests, die ich von der Kommandozeile überKann bekommt nicht JBehave metafilters von einem mvn Kommandozeile arbeitet

mvn integration-test 

Ich versuche, eine Teilmenge von Tests mit einem Meta-Tag zu dekorieren SpecialPurpose , die nur auf Anforderung fahren werden:

Meta: 
@SpecialPurpose 

Scenario: Run this test only from the nightly build 

Filtering with multiple metafilters in JBehave Im Anschluss an, ich versuche, die folgende Befehlszeile:

mvn integration-test -Djbehave.meta.filter="myCustomRunConf:(+SpecialPurpose)" 

Dies führt alle Tests in der Suite. Der Vollständigkeit halber habe ich auch versucht

mvn integration-test -Djbehave.meta.filter="+SpecialPurpose" 

und

mvn integration-test -Dmeta.filter="+SpecialPurpose" 

wie bei https://kowalcj0.wordpress.com/2013/01/22/how-to-selectively-run-in-jbehave-stories-tagged-with-multiple-words-in-a-meta-field/ beschrieben. Keine von diesen scheint erfolgreich zu filtern.

Und für die Vollständigkeit, die pom.xml Segment JBehave ist

Zusammenhang
<build> 
    <plugins> 
     <plugin> 
     <groupId>net.serenity-bdd.maven.plugins</groupId> 
     <artifactId>serenity-maven-plugin</artifactId> 
     <version>1.5.0</version> 
     <executions> 
      <execution> 
      <id>serenity-reports</id> 
      <phase>post-integration-test</phase> 
      <goals> 
       <goal>aggregate</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-failsafe-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>integration-test</id> 
      <goals> 
       <goal>integration-test</goal> 
       <goal>verify</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <includes> 
      <include>**/integration/*.java</include> 
      <include>**/integration/component1/*.java</include> 
      <include>**/integration/component2/*.java</include> 
      <include>**/integration/component3/*.java</include> 
      </includes> 
      <reuseForks>false</reuseForks> 
      <trimStackTrace>false</trimStackTrace> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

1) Was für die Dekoration eine Geschichte für die Aufnahme der richtige Syntax ist?

2) Was ist die richtige Befehlszeile?

3) Gibt es etwas ungewöhnliches mit der pom.xml-Definition, die den Metafilter abfängt oder unterbricht?

+1

richtigen Parameter -Dmeta.filter gemäß Beispiel in https://github.com/jbehave/jbehave-tutorial/ zu sein scheint Blob/Meister/Etsy-Selen/Groovy-Pico/Pom.xml – mcating

Antwort

1

Um die echten Funktionen von Jbehave zu handhaben, verwenden Sie jbehave-maven-plugin in maven. Um den Test auszuführen, konfiguriere das maven jbehave-Plugin wie folgt.

<plugin> 
<groupId>org.jbehave</groupId> 
<artifactId>jbehave-maven-plugin</artifactId> 
<version>4.0</version> 
<executions> 
    <execution> 
     <id>run-stories-as-embeddables</id> 
     <phase>test</phase> 
     <configuration> 
      <scope>test</scope> 
      <testSourceDirectory>${basedir}/src/main/java/</testSourceDirectory> 
      <testClassesDirectory>${project.build.directory}/classes/</testClassesDirectory> 
      <includes> 
       <include>**/integration/*.java</include> 
       <include>**/integration/component1/*.java</include> 
       <include>**/integration/component2/*.java</include> 
       <include>**/integration/component3/*.java</include> 
      </includes> 
      <threads>1</threads> 
      <metaFilters> 
       <metaFilter>${meta.filter}</metaFilter> 
      </metaFilters> 
     </configuration> 
     <goals> 
      <goal>integration-test</goal> 
      <goal>run-stories-as-embeddables</goal> 
     </goals> 
    </execution> 
</executions> 
<dependencies> 
     <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
     <scope>compile</scope> 
     </dependency> 
    </dependencies> 

In der Laufzeit Verwendung

mvn integration-test -Dmeta.filter="+SpecialPurpose" 
Verwandte Themen