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

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

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

Пример:

  • плагин A(внешний)
  • плагин 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.*', указанный в справке Бакминстера Эммы, но безуспешно.

Любая помощь будет великолепна!

Ответы [ 4 ]

0 голосов
/ 07 мая 2014

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

0 голосов
/ 15 февраля 2012

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

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

Это работает для интерактивной Эммы (в Eclipse), но Баки, похоже, игнорирует ее.

0 голосов
/ 09 апреля 2013

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

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

0 голосов
/ 21 марта 2011

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

...