Я готовлю индивидуальный отчет о метриках, представленных на панели инструментов SonarQube, в основном, матрице выполнения модульного и интеграционного тестирования и покрытия. Мне удалось получить его для модульных тестов, но, похоже, нет доступных матричных ключей для получения статистики интеграции и общего покрытия. Я использую SonarQube 4.5.6. Также подскажите, есть ли другой способ экспортировать статистику Sonar Dashboard в формате HTML. Код выглядит следующим образом:
public class TestStatistics{
static String host = "http://my.server.com/Sonar";
static String login = "admin";
static String password = "admin";
static String resourceKey = "shift:shift";
static String[] MEASURES_TO_GET = new String[]{"branch_coverage",
"new_branch_coverage",
"branch_coverage_hits_data",
"conditions_by_line",
"covered_conditions_by_line",
"coverage",
"new_coverage",
"line_coverage",
"new_line_coverage",
"coverage_line_hits_data",
"lines_to_cover",
"new_lines_to_cover",
"skipped_tests",
"uncovered_conditions",
"new_uncovered_conditions",
"uncovered_lines",
"new_uncovered_lines",
"tests",
"test_execution_time",
"test_errors",
"test_failures",
"test_success_density"
};
public static void main(String[] args) {
try {
Date date = new Date();
Sonar sonar = new Sonar(new HttpClient4Connector(new Host(host, login, password)));
ResourceQuery query = ResourceQuery.createForMetrics(resourceKey, MEASURES_TO_GET);
query.setIncludeTrends(true);
List<Resource> resources = sonar.findAll(query);
for(Resource resource:resources){
List<Measure> allMeasures = resource.getMeasures();
System.out.println("All Measures : "+allMeasures.toString());
System.out.println("Unit Branch Coverage : "+resource.getMeasureValue("branch_coverage"));
System.out.println("Unit Test Coverage : "+resource.getMeasureValue("coverage"));
System.out.println("Unit Line Coverage : "+resource.getMeasureValue("line_coverage"));
System.out.println("Lines To Cover : "+resource.getMeasureValue("lines_to_cover"));
System.out.println("Skipped Tests : "+resource.getMeasureValue("skipped_tests"));
System.out.println("Uncovered Conditions : "+resource.getMeasureValue("uncovered_conditions"));
System.out.println("Uncovered Lines : "+resource.getMeasureValue("uncovered_lines"));
System.out.println("Unit Tests : "+resource.getMeasureValue("tests"));
System.out.println("Unit Test Execution Time : "+resource.getMeasureValue("test_execution_time"));
System.out.println("Unit Tests Errors : "+resource.getMeasureValue("test_errors"));
System.out.println("Unit Tests Failures : "+resource.getMeasureValue("test_failures"));
System.out.println("Unit Tests Success Density : "+resource.getMeasureValue("test_success_density"));
}
System.out.println("DONE");
} catch (Exception e) {
e.printStackTrace();
}
}
}