Плагин maven surefire test запускает тесты, даже если они исключены: - PullRequest
3 голосов
/ 27 февраля 2012

я исключаю все тесты в плагине, кроме моего набора тестов:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.11</version>
    <configuration>
        <!--
        <testFailureIgnore>true</testFailureIgnore>
        <skipTests>true</skipTests>
        -->
        <parallel>both</parallel>
        <threadCount>10</threadCount>
        <forkMode>once</forkMode>
        <configuration>
            <excludes>
                <exclude>**/Test*.java</exclude>
                <exclude>**/*Test.java</exclude>
                <exclude>**/*TestCase.java</exclude>
            </excludes>
            <includes>
                <include>ru.csbi.registry.CategorizedTestsSuite.java</include>
            </includes>
        </configuration>
        <!--
       <configuration>
           <groups>ru.csbi.registry.IntegrationTestsNotRequiringContainerCategory</groups>
           <groups>ru.csbi.registry.UnitTestsCategory</groups>
       </configuration>
        -->
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-junit47</artifactId>
            <version>2.12</version>
        </dependency>
    </dependencies>
</plugin>

но все тесты выполнены.

Даже если я удалю свое единственное включение в конфигурации, он все равно запускает все тесты:

<configuration>
    <excludes>
        <exclude>**/Test*.java</exclude>
        <exclude>**/*Test.java</exclude>
        <exclude>**/*TestCase.java</exclude>
    </excludes>
    <!--
   <includes>
       <include>ru.csbi.registry.CategorizedTestsSuite.java</include>
   </includes>
    -->
</configuration>

Вот журналы:

----------------------------------------------- -------- ИСПЫТАНИЯ -------------------------------------------------- ----- Конфигурация параллелизма parallel='both', perCoreThreadCount=true, threadCount=10, useUnlimitedThreads = false

Запуск javalangtests.AnnotationTest

Выполнено тестов: 2, сбоев: 0, ошибок: 0, пропущено: 0, истекло время: 0 с

Запуск ru.csbi.registry.services.JdbcServiceTest

Выполнено тестов: 1, сбоев: 0, ошибок: 0, пропущено: 0, истекло время: 0 с

Запуск ru.csbi.registry.services.reflection.ClassServiceTest

Выполнено тестов: 2, сбоев: 0, ошибок: 0, пропущено: 0, истекло время: 0 с

Запуск ru.csbi.registry.services.reflection.FieldServiceTest

Выполнено тестов: 2, сбоев: 0, ошибок: 0, пропущено: 0, истекло время: 0 с

Running ru.csbi.registry.services.reflection.hibernate.relation.RelationServiceTest

Выполнено тестов: 7, сбоев: 0, ошибок: 0, пропущено: 0, истекло время: 0,016 сек

Эффективная пом:

  <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12</version>
    <executions>
      <execution>
        <id>default-test</id>
        <phase>test</phase>
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <configuration>
            <includes>
              <include>ru.csbi.registry.CategorizedTestsSuite.java</include>
            </includes>
          </configuration>
        </configuration>
      </execution>
    </executions>
    <configuration>
      <configuration>
        <includes>
          <include>ru.csbi.registry.CategorizedTestsSuite.java</include>
        </includes>
      </configuration>
    </configuration>
  </plugin>

1 Ответ

4 голосов
/ 27 февраля 2012

Вам необходимо удалить конфигурацию блок из конфигурации блок.

Примерно так:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.11</version>
    <configuration>
        <!--
        <testFailureIgnore>true</testFailureIgnore>
        <skipTests>true</skipTests>
        -->
        <parallel>both</parallel>
        <threadCount>10</threadCount>
        <forkMode>once</forkMode>
        <excludes>
            <exclude>**/Test*.java</exclude>
            <exclude>**/*Test.java</exclude>
            <exclude>**/*TestCase.java</exclude>
        </excludes>
        <includes>
            <include>ru.csbi.registry.CategorizedTestsSuite.java</include>
        </includes>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-junit47</artifactId>
            <version>2.12</version>
        </dependency>
    </dependencies>
</plugin>

Вложенные конфигурация элемент не имеет смысла.А также имя пакета в вашем include (ru.csbi.registry.CategorizedTestsSuite.java).

...