Тестовые классы видимости - PullRequest
2 голосов
/ 09 января 2012

У меня есть проект A, который содержит код модели данных (Hibernate) и некоторые модульные тесты.У меня также есть другие проекты B, C и D с их кодом и модульными тестами.У меня также есть набор классов тестовых утилит, используемых модульными тестами всех проектов.Эти классы утилит тестирования зависят от проекта A, поскольку они используют классы модели данных.

Если я добавлю эти классы тестовых утилит в проект A, у меня возникнет следующая проблема: как проекты B, C и D могут просматривать эти классы тестовых утилит вне IDE (я уточняю, что эти классы тестовых утилит размещеныв каталоге src / test / java и затем не включаются в JAR)?

Если я помещу эти классы тестовых утилит в отдельный проект, я получу круговую зависимость, потому что классы тестовых утилит зависят от проекта Aи модульные тесты класса A используют эти классы утилит тестирования.

Спасибо за помощь

Ответы [ 2 ]

2 голосов
/ 09 января 2012

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

1 голос
/ 09 января 2012

Вы можете объединить каждый проект в свой собственный jar - A.jar, B.jar, C.jar, D.jar и поместить классы утилит в свой собственный jar - testutilities.jar

Тогда вы можете легко включить testutilities в другие проекты, включив testutilities.jar. Вам также нужно будет включить A.jar, так как testutilities.jar зависит от A.jar.

...