2015-11-18 3 views
0

Я пытаюсь сделать работу Jenkins, которая сканирует только исходные исходные файлы, поэтому все под /src/test/java (с использованием Maven). Для этого я использую SonarQube Jenkins.как сканировать исходный код с помощью плагина SonarQube Jenkins?

Когда мы использовали для настройки эхолота в файле непосредственно пом мы могли бы сделать это в профиле:

<sonar.sources>/src/test/java</sonar.sources> 
<sonar.tests/> 

Это работало отлично.

Но в задании Jenkins я должен указать их как «Дополнительные свойства», и я не могу указать элемент emtpy sonar.tests. Я пробовал -Dsonar.tests, -Dsonar.tests=, -Dsonar.tests="", ничего не работает. Когда этот элемент не пуст, Sonar будет пытаться дважды проверять тестовые файлы и сбой.

+0

Вы хотите отсканировать свои тесты - и только ваши тесты - как если бы они были нормальным исходным кодом? –

+0

Да, это то, чего я хочу достичь, и уже сделал это до использования плагина SonarQube Jenkins. –

ответ

1

Этап пост-сборки определенно и явно является операцией Maven. Ваша проблема связана с попыткой использовать Maven для выполнения чего-то не-Mavenish; т. е. игнорировать соглашение о том, что файлы в каталоге тестов должны рассматриваться как тесты.

Поскольку вы хотите отсканировать свои тесты в качестве кода, лучше всего использовать шаг сборки (который использует SonarQube Scanner) и настроить свойства сканера вручную. Это упростит настройку вашего каталога источников и пропустите каталог тестов.

+0

Я бы сказал, что моя проблема исходит из того, что Sonar не рассматривает тесты как код :) Итак, нет способа сделать плагин Jenkins разобрать пустое свойство sonar.tests? –

+0

пустой не установлен. –

+0

@NicolasMommaerts Я предполагаю, что вы применяете «обычные» правила для тестов? –

Смежные вопросы