Как отлаживать службы OSGi

Как включить и отладить, когда задействовано несколько служб, которые тестируются с помощью экзамена pax.

У меня есть набор сервисов, организующих и обеспечивающих функциональность. У каждого из этих сервисов есть тесты, имитирующие другие сервисы. В дополнение к этому есть интеграционные тесты, которые проводятся через экзамен pax.

Но когда я подключаю отладчик через свою IDE: intelliJ и запускаю тест, отладчик не подключается. Должен ли я использовать здесь удаленную отладку, и если да, то должен ли я настроить ее в экзамене pax?


person voidone    schedule 03.07.2014    source источник


Ответы (2)


С тестовыми контейнерами Pax Exam Remote или Karaf вам понадобится удаленная отладка. При использовании Native Test Container все тесты выполняются на одной и той же виртуальной машине, поэтому простые точки останова должны работать.

Native Container обычно предпочтительнее, если вам не нужна полная изоляция загрузчика классов.

person Harald Wellmann    schedule 03.07.2014

Вы не указали, какую версию Pax Exam использовали. Однако, как правило, Pax Exam запускает отдельную JVM при выполнении теста, поэтому ваш отладчик не останавливается в заданных вами точках останова. Сначала вам нужно попросить Pax Exam запустить эту новую JVM с включенной удаленной отладкой. И тогда вы можете позволить своей IDE подключиться к этому удаленному отладчику. На самом деле на сайте Pax Exam есть FAQ по этому поводу:

https://ops4j1.jira.com/wiki/display/paxexam/FAQ#FAQ –ПочемуJavadebuggerнеостанавливаетточкуостанова,установленнуювmyPaxExamJUnittest?

person Marcel Offermans    schedule 03.07.2014