Отказ от ответственности: я не эксперт ни по Arquillian, ни по TomEE, поэтому вы можете подстроить ответ под свои цели.
В любом случае, в двух словах, байт-код инструментов JaCoCo для предоставления отчета о покрытии.
Поскольку при использовании Arquillian фактическое выполнение теста происходит в JVM TomEE, а не в JVM, которая фактически выполняет набор тестов (возможно, CI-сервер или просто скрипт сборки, выполняющий тест), поэтому настройте JaCoCo на этом тестовая машина не сделает много, вам придется настроить сам сервер.
JaCoCo имеет опцию -javaagent
для этого, и этот Java-агент будет «перехватывать» загрузку классов сервером и обрабатывать их.
Теперь, когда JaCoCo работает, он создает файл jacoco.exec
, который на самом деле содержит отчет о покрытии, который может быть показан позже различными способами (плагин jenkins для отображения покрытия, интеграция с гидролокатором, что угодно). И это, безусловно, наиболее часто используемая опция AFAIK, поэтому, если вы будете использовать этот подход, учитывая, что инструментарий действительно работает, после завершения тестов вам нужно будет найти сервер на тестовом компьютере и загрузить его на компьютер сборки. и интегрироваться с CI / Sonar как угодно.
Однако есть альтернативные решения:
Документация JaCoCo утверждает, что существует три режима запуска инструментирующего Java-агента:
Технически вы можете просто указать разные параметры для этого javaagent, чтобы он запускал JaCoCo в одном из этих режимов.
В любом случае, мы обсудили первый вариант, но вы также можете работать с конфигурациями TCP, если это необходимо. Конечно, здесь вам придется решать проблемы безопасности (например, разрешение на доступ / доступ к порту и т. Д.).
Если вы работаете в режиме TCP, есть Плагин Maven , который может пригодиться. Я не использовал его сам, просто погуглил, поэтому не могу комментировать, хорошо ли это, у него всего 2 звезды на Github, так что, вероятно, он не готов к производству, но, возможно, вы могли бы получить некоторые идеи из его исходного кода. [1116 ]
Я только что начал использовать Подверсию на самом деле, все, что я сделал было движение к их веб-сайту, и загрузите сервер (взял как 10 минут, чтобы установить и установить). Установщик спрашивает Вас, где Вы хотите, чтобы Ваш репозиторий кода был, и затем он настраивает сервер полностью. Единственная вещь, которую я должен был сделать, была помещена в файл паролей. Я установил ankhsvn (который является клиентом SVN, который интегрируется в Visual Studio), и это работало отлично без помехи. Точно, как Вы ожидали бы. Это - очень мало работы в целом.
50 Bucks получают Вас все управление подверсией, в котором Вы могли нуждаться.
Править: И в конечном счете... 50 маркеров так же хороши как свободные...
Я думаю, что у Вас есть две опции, действительно:
Подверсия. Легко установить и т.д., и освободить. Мне нравится VisualSVN, который составляет 50$, и ценность по крайней мере 5x так очень, но можно использовать Анк (свободный, OSS) или просто использовать tortose (плагин Windows Explorer, OSS, свободное).
После того как у Вас есть tortoseSVN (VisualSVN нужен он также), можно сделать локальный repo's или использовать удаленный, например, VisualSVNServer (также свободный), или лично, у меня есть шахта, размещенная с моими веб-сайтами в dreamhost :)
Другая опция является Хранилищем SourceGear. Замечательно, если у Вас есть сервер на базе Windows где-нибудь (это - SQL 200x + базирующийся ASP.NET, включая SQL Express Edition я думаю), и это свободно для одного пользователя. Очень хороший, если Вы привыкли к SourceSafe или TFS, и он может работать в фиксации слияния контроля SVN/CVS путь, если Вы хотите к (не значение по умолчанию, но легкий измениться), или просто используете выезд - блокировка - регистрируется в пути как VSS.
Вы, возможно, услышали Eric Sink из SourceGear на подкасте Переполнения стека другая неделя - та же компания.
Я нашел Подверсию очень легкой установить. AnkhSVN интегрирует в Visual Studio IDE приятно и удостоверяется, что Вы не забываете добавлять новые файлы, созданные в IDE к SVN. Однако AnkhSVN также, кажется, имеет, это - периодические отклонения.
TortoiseSVN казался более стабильным, когда я использовал его, плюс он имеет некоторые расширенные функции (как хороший редактор конфликта), что Анку все еще недостает. Вот почему я использую и Анк и SVN для лучшего из обоих миров.
Подверсия хороша, но не настолько легка установить (так как она требует Apatche). Смотрите на Хранилище, очень простое устанавливать, и работает очень хорошо с Visual Studio. Это также свободно для единственного разработчика.
У меня был хороший опыт с TortoiseSVN, хотя он не интегрируется непосредственно в Visual Studio. Это свободно и интегрируется в Windows вполне хорошо.
Если Вы хотите решение, которое имеет больше интеграции, я рекомендовал бы Хранилище от SourceGear. Это свободно для отдельных пользователей и легко установить. Это имеет больше функций, чем SVN и прямой доступ из VS.