Запуск модульных тестов в IntelliJ IDEA из нескольких модулей вместе



Как я могу запустить все тесты из двух или более модулей IDEA одновременно?



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

880   5  

5 ответов:

лучший способ: (редактировать через 3 года)

есть даже лучший способ добиться этого.

  1. выберите меню "Выполнить" → " изменить конфигурации...". Нажмите зеленый плюс в левом верхнем углу и выберите JUnit.

  2. выберите "Test kind" для "Pattern" и введите это регулярное выражение точно так, как вы его видите: ^(?!.*IT$).*$ (Он начинается с каретки ^ и заканчивается с долларом $). Это регулярное выражение говорит: все тесты, которые не заканчивают с ним во имя их.

  3. выберите "Поиск тестов", чтобы"во всем проекте". Рабочий каталог должен быть установлен в рабочий каталог верхнего модуля (он должен быть установлен по умолчанию).

  4. введите имя для вашего теста, например "все модульные тесты". Я также предпочитаю отмечать опцию "Поделиться", чтобы эта конфигурация не исчезла позже. Нажмите кнопку Применить и ОК.

вы можете поэкспериментировать с этим регулярное выражение, чтобы соответствовать вашим по необходимости.

оригинальный ответ:

это выполнимо, хотя это и не удобно.

  1. выберите первый модуль, щелкните правой кнопкой мыши на test/java каталог и "выполнить все тесты". Он создает тестовую конфигурацию.
  2. выберите " Редактировать конфигурации "и установите флажок" Поделиться " на вновь созданной конфигурации, чтобы она была сохранена.
  3. выберите второй модуль, "выполнить все тесты" на нем, и проверьте "Поделиться" на этой конфигурации как что ж.
  4. в разделе" перед запуском "нажмите кнопку" + "и выберите" Запустить другую конфигурацию", а затем выберите конфигурацию первого модуля.

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

вы должны создать "Run Configuration":

  1. перейдите в выпадающий список сверху, справа от кнопки "сделать" и нажмите на нее
  2. Выберите "Редактировать Конфигурации"
  3. Теперь нажмите на кнопку"+", чтобы добавить новую конфигурацию запуска и выберите JUnit
  4. затем, при настройке "Run Configuration", вы найдете выпадающий список "Test Kind", выберите "все классы в каталоге"
  5. выберите каталог, который вы хотите использовать в качестве root, вы можете выбрать каталог верхнего уровня для вашего проекта или любой из каталогов для ваших модулей.
  6. выберите модуль IntelliJ, откуда берется путь к классу (это может быть проект верхнего уровня, если у него есть путь к классу)

для меня оба решения не работали или не работали ожидаемо.

для меня у меня есть 3 модуля. Мои зависимости модулей выглядят так

презентация ->домен ->данные

Я просто хотел выполнить все тесты вместе. Поэтому я придумал подход "через зависимости модулей"

Мои настройки выглядят так:

enter image description here

еще один не столь очевидный случай, когда покрытие кода необходимо для более чем одного проекта. Наивным решением было бы выбрать несколько проектов и запустить в них все модульные тесты сразу. Как оказалось, модульные тесты могут завершиться неудачей, если путь к классам изменяется и IntelliJ имеет ровно одну запись пути к классам для каждой конфигурации запуска. В этом случае достаточно последовательно выполнять модульные тесты для проектов. Это потому, что в конце каждого запуска IntelliJ (2017.2.5 Community Edition) спрашивает, если собранное покрытие должно заменить или должно быть добавлено к ранее собранной статистике покрытия.

Это сработало для меня для проекта с несколькими модулями.

создайте новую конфигурацию запуска/отладки JUnit. Вид теста: 'все в пакете' Поиск тестов: 'весь проект'

вам также нужно будет указать рабочий каталог.

Comments

    Ничего не найдено.