Как сделать тест maven зависимым от класса, определенного в тесте другого проекта? - PullRequest
3 голосов
/ 07 июня 2011

У меня есть два проекта, A и B. Проект A зависит от проекта B. В проекте B реализовано несколько тестов JUnit, которые правильно работают с тестом maven.Тесты JUnit проекта B также определяют некоторые константы, на которые полагаются как проект A, так и B.Когда я запускаю maven install в проекте B, ни один из тестовых классов (а именно, константы) не попадает в jar SNAPSHOT проекта B, поэтому, когда проект A ищет константы проекта B, он не может найти их в установленном jar SNAPSHOT проекта Bв моем местном репо.Есть ли способ сказать maven, что нужно упаковать / установить тестовую фишку SNAPSHOT или что-то подобное, чтобы проект A мог иметь доступ к этим константам во время теста?Эти константы используются только в тестах.

Ответы [ 2 ]

1 голос
/ 07 июня 2011
  • Простое решение: поместите константы в src / main / java и поясните, что они используются только в тестовом коде.Используйте короткое имя пакета, например testing.
  • Решение сверхинженерии: поместите константы в отдельный проект maven (возможно, только POM?), На который ссылаются как A, так и B с областью действия test.
0 голосов
/ 11 апреля 2013

Я не уверен на 100%, работает ли это, но в аналогичной ситуации я мог бы включить

 <classifier>tests</classifier>

в объявление зависимости.

После этого вы можете иметь A в зависимости оти на «неквалифицированных» B и B-тестах.

Обновление : Видимо , вам больше не следует использовать classifier:test, а скорее type:test-jar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...