Должен ли я поместить исходный код в ту же папку, что и исходный код? - PullRequest
0 голосов
/ 11 марта 2019

Хорошо известная структура по умолчанию для Java-приложения:

/src/test/java/com/mypackage/mymodule
/src/main/java/com/mypackage/mymodule

Я хочу привести базовый пример.Допустим, есть модуль с именем 'image', который отвечает за создание схемы базы данных, имеет репозиторий для сохранения изображений и предоставляет сервис для использования этого модуля.

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

Есть ли какой-нибудь рекомендуемый способ решения этой проблемы?

1 Ответ

1 голос
/ 11 марта 2019

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

Допустим, у вас есть модуль A и проекты P1 и P2, которые используют этот модуль A в качестве зависимости.Тогда модульные тесты для модуля A должны быть в хранилище для модуля A. В этом случае, как только сборка для модуля A завершится успешно, вы знаете, что этот модуль работает нормально.

Если у вас есть модульные тесты для кода модуля A в проектеP1, то вы не можете протестировать сборку модуля A без запуска сборки проекта P1.И вам также может потребоваться запустить дублированные тесты для кода из модуля A в вашем другом проекте P2, потому что если кто-то удалит модуль A из проекта P1 (и все модульные тесты для этого кода также будут удалены), то этот модуль A не будет иметь тестовна все.

...