В Intellij возможно, чтобы один модуль зависел от тестов другого модуля

У меня есть многомодульный проект в Intellij, и у меня есть куча светильников из огурцов в тестовых источниках одного подмодуля, которые я бы хотел использовать в другом подмодуле. Если я добавлю другой модуль, как зависимость, то его нормальный каталог ouptut добавится в путь класса junit, но не выводит его тесты.

Возможно ли, что intellij также экспортирует тестовые каталоги модулей и разрешает использовать другие модули?

Ответ 1

Да, вы можете, но это не просто.

Итак, у вас есть Модуль-A и Модуль-B.

Модуль-B имеет TestClass, который, возможно, расширяет AbstractClass или использует некоторые статические помощники из Module-A

Примечание.. Это будет работать только в intellij, если вы используете maven или gradle, вам нужно будет проверить, что это все равно будет построено нормально.

Вот что вам нужно сделать.

  • Перейти к Структура проекта... (Ctrl+Alt+Shift+S - win/linux)
  • Откройте модули и посмотрите вкладку Модуль-A Путь.
  • Обратите внимание на тестовый выходный путь или скопируйте его. Это может быть примерно так: C:\dev\projects\myProject\moduleA\build\testclasses или аналогичный.
  • Откройте модули и выберите Модуль-B и посмотрите вкладку Зависимости.
  • Возможно, у вас уже есть зависимость от Module-A для времени компиляции, и это нормально. Нажмите на + или введите (Alt+Insert) и добавьте новую библиотеку (№ 2 по опциям)
  • На экране выбора библиотек выберите кнопку Новая библиотека.... Выберите опцию Java.
  • В диалоговом окне, которое появляется в папке сборки, у вас было выше C:\dev\projects\myProject\moduleA\build\testclasses, и нажмите ОК. Теперь у вас есть классы для вашего модуля-A. Назовите его чем-то подходящим Module-A Tests и измените параметр Уровень на Библиотека модулей.
  • Нажмите кнопку + (Alt+Insert), чтобы добавить источник. Перейдите к тестовым файлам src. E.G.: C:\dev\projects\myProject\moduleA\src\test и добавьте это, и теперь у вас также есть источники.
    1. Нажмите ОК, и вы вернетесь в диалог Структура проекта.
    2. Теперь у вас будет новая библиотека, добавленная к вашим зависимостям. Измените Сфера на Тест
    3. Нажмите ОК внизу и сделанный. Возможно, вам понадобится сделать/очистить проект.

И теперь у вас есть привязки тестов, связанные между модулями.

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

Ответ 2

возможно, но вы должны делать это через свою автоматическую сборку, т.е. в maven, а не в своей среде IDE. если вы публикуете тесты модуля maven как отдельную зависимость (что-то, что я делаю), вы можете добавить тест-банку в качестве оттиска другого модуля. Конечно же, IDEA будет обрабатывать это автоматически.

http://maven.apache.org/guides/mini/guide-attached-tests.html