Обычно это решается созданием и развертыванием файлов modulename-test.jar в дополнение к обычному файлу modulename.jar. Вы развертываете их в репозитории как обычные артефакты. Это не совсем безупречно, но работает достойно для артефактов кода.
Затем вы добавили бы тестовые зависимости в jar-тестах для других модулей.
Вы также можете решить эту проблему, поместив артефакты тестовой области в «основную» область видимости в отдельный модуль, а затем включив их в обычную область видимости в другие модули. Это решение не очень хорошо работает в многомодульной сборке, где каждый модуль экспортирует некоторые тестовые артефакты, поскольку вы в основном получаете модули 2N.
Многие из нас на самом деле разочаровываются в обоих этих решениях, когда понимают, что число классов довольно ограничено, и с обоими этими решениями связаны проблемы. Мы просто помещаем их в пакет с соответствующим именем в «основной» области. Я просто продолжаю забывать, почему два первых решения - это боль.