У меня есть серия тестов JBehave, которые я запускаю из командной строки через
mvn integration-test
Я пытаюсь украсить подмножество тестов метатегом SpecialPurpose
, которые запускаются только по требованию:
Meta:
@SpecialPurpose
Scenario: Run this test only from the nightly build
После фильтрации с несколькими метафильтрами в JBehave я пробую следующую командную строку:
mvn integration-test -Djbehave.meta.filter="myCustomRunConf:(+SpecialPurpose)"
Это запускает все тесты в наборе. Для полноты я также пробовал
mvn integration-test -Djbehave.meta.filter="+SpecialPurpose"
а также
mvn integration-test -Dmeta.filter="+SpecialPurpose"
как описано в https://kowalcj0.wordpress.com/2013/01/22/how-to-selectively-run-in-jbehave-stories-tagged-with-multiple-words-in-a-мета-поле/. Ни один из них не успешно фильтруется.
И для полноты, сегмент pom.xml, связанный с JBehave,
<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) Каков правильный синтаксис для украшения истории для включения?
2) Какая правильная командная строка?
3) Есть ли что-то необычное в определении pom.xml, которое перехватывает или ломает метафильтр?