Игнорирование файлов модульных тестов Maven / Scala - PullRequest
3 голосов
/ 24 ноября 2010

Я пишу свои тестовые примеры для проекта Java с использованием Scala (JUnit 4).Я запускаю тесты, используя Maven.

Я написал класс src/test/scala/com.xxx.BaseTest для тестов, чтобы обеспечить некоторую общую функциональность (@BeforeClass и т. Д.), Но без реальных @Test случаев.

Всякий раз, когда я запускаю тесты, используя mvn в командной строке, он настаивает на попытке поиска тестов в классе BaseTest и выдает ошибку, потому что их нет.

Кромеиспользуя @Ignore, есть ли способ заставить Maven / Scala / Surefire не пытаться запустить класс BaseTest?Добавление @Ignore не имеет большого значения, но мой тестовый запуск показывает еще один тест, чем я на самом деле, с меткой «Пропущено: 1».

ОБНОВЛЕНИЕ : я нашел решение,Я переименовал BaseTest в Base;Maven теперь игнорирует это.Есть ли другой способ?

1 Ответ

1 голос
/ 24 ноября 2010

Вы можете переименовать базовый тестовый класс, чтобы не иметь * Окончание теста, например BaseTestCase.java. Это то, что я бы порекомендовал.

Скорее всего, maven выполняет тесты с плагином surefire , поэтому вы можете просто настроить плагин surefire, чтобы пропустить BaseTest.java. Я думаю, что по умолчанию surefire предполагает, что все классы, заканчивающиеся *Test, являются тестовыми классами. Как то так в pom.xml.

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <excludes>
            <exclude>**/BaseTest.java</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
...