Где я должен поместить тестовый код поддержки для библиотеки Java
У меня есть проект Maven, который используется в качестве библиотеки в других проектах. Настройка довольно стандартная:src/main
с кодом библиотеки,src/test
с тестами для.src/main
Позволять'Предположим, у меня есть проектfoo
который зависит от этой библиотеки.foo
также есть тестовые случаи. Чтобы помочь в написании тестов вfoo
для кода, который использует мою библиотеку, яхотел бы датьfoo
инфраструктура поддержки для написания тестов (например, настройка фиктивной среды).
Где я могу разместить этот код поддержки?
Это не должноне идти вsrc/main
потому что это'не предназначены для запуска в производство.Оно может'не идти вsrc/test
потому что создание зависимости отfoo
s тесты к тестам библиотеки добавляют слишком много мусора в путь к классам (например,logback-test.xml
конфигурационные файлы, тесты, которые никогда не выполняются, ...).Я мог бы поместить код в новый модуль, но этотесно связаны с кодом вsrc/main
, так что я'я хотел бы сохранить его в том же проекте (также позволил бы коду поддержки тестирования получить доступ к закрытым полям и методам пакета).
Кроме того, код вsrc/test
должен иметь доступ к нему, чтобы я мог использовать его для написания собственных модульных тестов.
Каковы мои варианты с Maven, чтобы сохранить это в том же проекте, но по-прежнему четко отделить его от обоихsrc/main
а такжеsrc/test
? Можно ли как-то создать третий выходной JAR для, скажем,src/test-support
? Или я должен положить код вsrc/test
а затем использовать фильтры в плагине JAR, чтобы включить только код поддержки?