JBehave & Maven - как пропустить тесты сценариев - PullRequest
4 голосов
/ 28 октября 2011

Я использую jbehave и плагин jbehave maven для запуска набора тестов сценариев.

Мой тестовый класс расширяет JUnitStories, и все работает хорошо.Единственная проблема в том, что я не могу перестать запускать тесты ...

Каждый раз, когда я запускаю цель установки maven, она запускает тесты.Ниже я попытался добавить профиль сценариев пропуска, но это не мешает запуску тестов.

<profile>
    <id>skipScenarios</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

Я также попытался использовать тег исключения вместо пропуска и исключить свой сценарий.класс, но не повезло.

Буду очень признателен за любые идеи или идеи, которые у вас есть, ребята!Спасибо!

Ответы [ 4 ]

8 голосов
/ 23 ноября 2011

Вам не нужен профиль для этого.Просто добавьте $ {skipTests} в конфигурацию выполнения следующим образом:

<plugin>
   <groupId>org.jbehave</groupId>  
   <artifactId>jbehave-maven-plugin</artifactId>
   <version>${jbehave.core.version}</version>
   <executions>
      <execution>
         <id>unpack-view-resources</id>
         <phase>process-resources</phase>
         <goals>
            <goal>unpack-view-resources</goal>
         </goals>
      </execution>
      <execution>
     <id>embeddable-stories</id>
         <phase>test</phase>
         <configuration>
            <includes>
               <include>${embeddables}</include>
            </includes>
            <excludes />
            <skip>${skipTests}</skip>
            ...

Запуск mvn -DskipTests пропустит юнит-тесты и сценарии JBhehave.

1 голос
/ 18 ноября 2011
  1. В вашей конфигурации был maven-surefire-plugin .
  2. Возможно, вы захотите использовать активацию свойства для профиля, чтобы вы могли запустить его с помощью команды

    mvn -DskipScenarios

  3. Вам даже не нужно пропускать конфигурацию, если вы используете профиль, и в этом профиле нет выполнений

Вот рабочий пример:

<profile>
        <id>skipScenarios</id>
        <activation>
            <property>
                <name>skipScenarios</name>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.jbehave</groupId>
                    <artifactId>jbehave-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </profile>
0 голосов
/ 19 ноября 2012

Возможно, вам нужно сначала добавить метаданные в свои сценарии, а затем использовать мета-фильтрацию , чтобы выбрать сценарии, которые вы хотите запустить.

Возможно, это не самый простой способ, но он четко задокументирован в jbehave wiki, и как только вы получите метаинформацию, у вас будет большая гибкость для запуска тестов в любой комбинации.

0 голосов
/ 31 октября 2011

Все еще не найден метод maven для этого.

Кажется, что проще всего добавить параметр JVM и использовать System.getProperty ("theconfig"), чтобы решить, запускать сценарии или нет.

Удовлетворительное, но не идеальное решение.

...