Как запустить тест Junit с определенной категорией, определенной в POM.xml, с использованием IntelliJ

Я хотел бы знать, можно ли с помощью IntelliJ запустить все тесты в визуальной среде, выбрав определенную категорию Junit.

На данный момент, если вы выполните:

mvn clean test

вы выполняете быстрые тесты, но как использовать IntelliJ для выбора медленных или быстрых?

Фрагмент pom.xml

  <profiles>
    <profile>
      <id>SlowTest</id>
      <properties>
        <testcase.groups>YOUR.PROJECT.test.categories.Slow</testcase.groups>
      </properties>
    </profile>
    <profile>
      <id>FastTest</id>
      <properties>
        <testcase.groups>YOUR.PROJECT.test.categories.Fast</testcase.groups>
      </properties>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
    </profile>
  </profiles>

Спасибо заранее

Хуан Антонио


person jabrena    schedule 21.09.2017    source источник


Ответы (2)


Ваши профили фокусируют тестовый прогон на определенных категориях. Конфигурация JUnit Run/Debug в IntelliJ также позволяет сосредоточить запуск JUnit на определенной категории.

Вы можете получить доступ к этому окну конфигурации из Run > Edit Configurations Вот скриншот, показывающий сохраненную конфигурацию с именем SlowTests, которая запускает все тесты, имеющие категорию: com.stackoverflow.surefire.SlowTests:

введите здесь описание изображения

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

Дополнительная информация в документации.

person glytching    schedule 21.09.2017
comment
Это решение! :) С этой конфигурацией можно визуально увидеть в IDE разработку на основе категорий, чтобы увидеть, охватывают ли тесты все случаи или нет. Большое спасибо @glitch - person jabrena; 22.09.2017

Если вы создали свой проект с помощью pom.xml, в представлении «Проекты Maven» вы можете активировать профили, которые хотите сделать активными. Там (жизненный цикл) вы можете запустить цель, которую вы хотите выполнить для каждого модуля.

Как это получить: View->Tool Windows->Maven Projects

person aschoerk    schedule 21.09.2017
comment
Привет @aschoerk, да, использование таким образом возможно, но я хотел бы видеть список тестов таким же образом, когда вы щелкаете правой кнопкой мыши и нажимаете кнопку «Выполнить все тесты». - person jabrena; 21.09.2017
comment
Но я думаю, что Run all Tests сканирует исходный каталог на наличие тестов, которые он может там найти, и выполняет их независимо от активных профилей. - person aschoerk; 21.09.2017
comment
да, но если у вас есть пробные тесты и системные тесты вместе, альтернативой, которую я вижу, является размещение тестов в разных пакетах, но я хотел бы поддерживать один и тот же пакет - person jabrena; 21.09.2017