Прежде всего: речь идет не о SonarQube не отображение успешности блока тестирования. Есть много вопросов & ответов для этой темы, но они не были полезными.SonarQube не правильно отображает успешное тестирование блока
My setup: using SonarQube 5.2
, вызванный Maven 3.x
по телефону Jenkins 1.644
с проверками подлинности по умолчанию. И это результат SonarQube:
Как вы можете видеть, что это показывает блок успеха тестирования для всех проектов корректно. Выбор проекта приводит нас к успешному пакетному тестированию. И на данный момент это становится странным. Например, пакет GUI: он говорит 8,3% успеха проекта, но 0,0% успеха теста пакета. Как это возможно?
Я искал причину в каталоге <project dir>/target/surefire-reports
, на котором основан анализ SonarQube. Там вы можете увидеть три сгенерированные .xml-файлы/классы:
Некоторые экстракт из файлов показывает нам:
Test set: xxx.gui.main.AppConfigurationTest
Tests run: 4, Failures: 0, Errors: 4, Skipped: 0
Test set: xxx.gui.main.ConfigurationHolderTest
Tests run: 7, Failures: 0, Errors: 7, Skipped: 0
Test set: xxx.gui.servlet.XxxHttpServletTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
Выполнение некоторых рассчет дает 4 + 7 + 1 = 12 всего тесты и 1/12 (успех/итого) = 8,3%! Так вот, когда начинается успешный успех проекта.
Вопрос в том, почему не является классом xxx.gui.servlet.XxxHttpServletTest, отображаемым в SonarQube (с успешным испытанием на 100%, конечно)? У тебя есть идея?
Хорошо, у меня было что-то в этом роде, но я не был уверен. Есть ли способ настроить, как SonarQube показывает успех теста?Я с вами, что не важно, сколько процентов тестов не удалось подробно, но я думаю, что это представление является средним. – Alex
Я не думаю, что есть способ изменить это поведение. Тем не менее, вы по-прежнему можете проверить ошибки/сбои в развертке, а также пропустить единичные тесты (вы можете сделать это с 4.5.4 и 5.3, поэтому нет причин не в состоянии сделать это с помощью 5.2) – Kraal