Хадсон/Дженкинс: Бакминстер Эмма: Как исключить пакеты

Я использую Jenkins и Buckminster для приложения rcp для CI, и это работает как шарм. Единственная проблема, с которой я столкнулся, заключается в том, что задача buckminster emma выполняет покрытие кода для ВСЕХ пакетов в извлеченной рабочей области. Я хотел бы указать фильтр исключения, поскольку это описано для задачи муравья, но не заработало. Команда buckminster emma help мне тоже не помогла. У меня есть несколько плагинов в моей рабочей области, модульные тесты указаны для моих собственных пакетов. Но есть один плагин, включающий исходные файлы, которые я не хочу учитывать в emma для покрытия кода, так как это внешний пакет. Мои тесты JUnit также не охватывают этот пакет.

Как мне добиться этого, чтобы исключить этот пакет/классы в одном плагине?

Пример:

  • плагин А (внешний)
  • плагин B (собственный)
  • плагин C (содержащий модульные тесты)

Команды, которые я использую, следующие:

importtargetdefinition -A '${WORKSPACE}/de.plugin.site/plugin.target'
import '${WORKSPACE}/de.plugin.site/site.cquery'
build
perform -D target.os=* -D target.ws=* -D target.arch=* de.plugin.site#site.p2
perform -D target.os=win32 -D target.ws=win32 -D target.arch=x86 de.plugin.site#create.product.zip

emma -l '/de.plugin.test/AllBuckminsterTests.launch' -o '${WORKSPACE}output/junit_result.xml' --xml '${WORKSPACE}/output/coverage_report.xml' --flatXML

`

Я попробовал параметр --define 'filter=-de.external.*', указанный в справке бакминстера emma, но безуспешно.

Любая помощь будет здорово!


person Andreas    schedule 18.03.2011    source источник


Ответы (4)


Вы спрашивали об этом на форуме Бакминстера в Eclipse?

person Henrik Lindberg    schedule 21.03.2011

Вот еще одна вещь, которая тоже не работает, к сожалению (для меня). С помощью плагина EclEmma или вручную добавьте в конфигурацию запуска следующее:

<listAttribute key="com.mountainminds.eclemma.core.SCOPE_IDS">
<listEntry value="=project1/src"/>
<listEntry value="=project2/gen"/>
<listEntry value="=project2/src"/>
</listAttribute>

Это работает для интерактивной Эммы (в «Затмении»), но Баки, кажется, игнорирует это.

person Volker Stolz    schedule 15.02.2012

Файл запуска может быть стандартным файлом запуска, но вы можете захотеть создать специфичную для emma конфигурацию запуска с помощью инструментов EclEmma IDE, поскольку это позволяет вам контролировать, какие классы и пакеты включать в инструментарий покрытия.

Поместите свои тестовые классы в отдельную тестовую исходную папку.

person user1209455    schedule 09.04.2013

Вы должны установить фильтр исключения/включения с помощью плагина Jenkins/Hudson Jacoco; если я правильно помню, записи в конфигурации запуска, вставленные с помощью пользовательского интерфейса EclEmma, ​​учитываются Buckminster (вы должны видеть это, если вы генерируете вывод html), но если вы хотите, чтобы отчет Jacoco был в CI, вам нужно настроить исключение/включение в соответствующем действие после сборки. Кстати, плагин Jacoco теперь работает только с файлами .exec, поэтому вам нужно запустить команду 'emma' с ключом -exec.

person lorenzo-bettini    schedule 07.05.2014