Sonarqube API - одноклассное тестовое покрытие

Я пытаюсь получить покрытие кода модульного теста для отдельных классов с помощью SonarQube API (версия Sonar 4.1.2). Все работает нормально, и я могу видеть метрики в порядке, когда иду прямо на приборную панель гидролокатора и перехожу на вкладку покрытия для класса:

    93.9%   by unit tests Line coverage: 97.9% (285/291) Branch coverage: 85.0% (113/133)

Может кто-нибудь сказать мне правильный вызов для получения этой же / аналогичной информации через интерфейс API гидролокатора, пожалуйста? Я уже просматривал документацию по адресу http://docs.sonarqube.org/display/SONAR/Metric+definitions и могу получить тестовые показатели покрытия на уровне проекта, но не вижу, как построить запрос для индивидуальные занятия.

2 ответа

Решение

Я думаю, что это то, что вы после

[имя хоста]/api/resources?resource=[com.test]:[имя-модуля]: [полностью определенный класс]&metrics= охват, ветвь_обеспечение

Я добавил пример ниже.

HTTP: // сонар-сервер / API / ресурсы ресурсы = com.test: модуль: com.test.service.impl.CheckServiceImpl и метрики = охват, branch_coverage

Я посмотрел на страницу, которой вы поделились, и использовал это также:

http://docs.codehaus.org/pages/viewpage.action?pageId=229743280

api/measures/component_treeтвой друг

      result = session.get(        
    SONAR_BASE + "api/measures/component_tree",        
    params={"baseComponentId": COMPONENT, "metricKeys": "coverage"   )
)

дает вам покрытие до уровня файла. Вы должны иметь возможность получать только файлы с "leaves"стратегия.

Другие вопросы по тегам