Maven-surefire-плагин и раздвоенный режим - PullRequest
1 голос
/ 17 августа 2010

Итак, у меня есть несколько классов, которые полагаются на файл jar, в котором есть нативные методы.Я сталкиваюсь с проблемами при издевательстве над объектами в этом jar-файле ... поэтому я нашел решение, которое работает.

Использование perkedmode pertest, похоже, решает эту проблему.Тем не менее, есть 5 файлов, на которые нужно запускать в разветвленном режиме ... есть 130 других тестов, которые не требуют разветвления, и время сборки с cobertura и все ОЧЕНЬ медленно, так как оно разветвляется для каждого теста в этом pom...

Итак, мой вопрос ... есть ли способ указать, какие классы вы хотите запустить в разветвленном режиме и все остальное запустить нормально?

1 Ответ

3 голосов
/ 18 августа 2010

есть ли способ указать, какие классы вы хотите запустить в forkedmode и выполнить все остальное в обычном режиме?

Вы можете сделать это, указав два элемента <execution> с конкретными <configuration>: по умолчанию для большинства тестов (исключая те, которые должны быть forked) с forkMode, установленным на once, и специальным для специальных тестов (включая только специальные), где forkMode установленна always.

Вот фрагмент кода, показывающий, как это сделать:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <!-- Lock down plugin version for build reproducibility -->
  <version>2.6</version>
  <executions>
    <execution>
      <id>default-test</id><!-- here we configure the default execution -->
      <configuration>
        <forkMode>once</forkMode><!-- this is the default, can be omitted -->
        <excludes>
          <exclude>**/somepackage/*Test.java</exclude>
        </excludes>
      </configuration>
    </execution>
    <execution>
      <id>special-test</id><!-- and here we configure the special execution -->
      <phase>test</phase>
      <goals>
        <goal>test</goal>
      </goals>
      <configuration>
        <forkMode>always</forkMode>
        <includes>
          <include>**/somepackage/*Test.java</include>
        </includes>
      </configuration>
    </execution>
  </executions>
</plugin>

См. также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...