SonarQube, модульное тестовое покрытие и интеграционное тестовое покрытие отдельно

Можно ли в SonarQube отдельно увидеть/показать покрытие юнит-тестами и интеграционными тестами? Примечание; Я использую плагин JaCoCo для SonarQube.


person CR Sardar    schedule 08.05.2018    source источник


Ответы (1)


https://blog.sonarsource.com/sonarqube-6-2-in-screenshots

эта возможность была исключена по уважительной причине в версии 6.2 -› взгляните на сообщение в блоге

// РЕДАКТИРОВАТЬ: извините, у меня разрядилась батарея, продолжение

Причина, по которой он был объединен, заключалась в том, что большинство плагинов, кроме плагинов-сонаров, практически не обеспечивали достаточного различия между интеграцией, дымом, модулем и любым другим покрытием.

Раньше об этом был хороший пост в блоге, но я больше не могу его найти -› информация о 6.2. это просто версия, где они объединили их все в общее покрытие.

Так что на данный момент нет возможности разделить покрытие на несколько разных версий.

Дополнительную информацию и более подробное объяснение можно найти в билете jira для sonarsource: https://jira.sonarsource.com/browse/MMF-345

Некоторые проблемы

Мы имеем дело с несколькими инструментами покрытия, которые предоставляют неоднородные данные. Некоторые предоставляют только агрегированные показатели охвата на уровне проекта; некоторые предоставляют данные о покрытии на уровне файлов; и другие предоставляют построчные данные о покрытии. Вычисление охвата проекта на нескольких языках с использованием инструментов, предоставляющих разрозненные наборы данных, — это кошмар.

Как вы рассчитываете общее покрытие для условий? Если данные модульного теста говорят, что покрыты 2 из 4 условий в строке, а данные интеграционного теста говорят, что покрыты 2 из 4... это общее покрытие 2, 3 или 4 из 4?

Как рассчитать охват проекта, если отчет(ы) содержат данные только о подмножестве файлов? Они отсутствуют в данных, потому что они не исполняемые, или потому, что они вообще не покрыты и были «пропущены» механизмом покрытия?

Как узнать, какие файлы можно тестировать, чтобы установить для них значение overage 0? НАПРИМЕР. не все файлы .java с nLoC можно тестировать (интерфейсы). Некоторые проекты имеют только интеграционные тесты; это их основное средство тестирования. Но интеграционные тесты обрабатываются иначе с точки зрения расчета метрик, чем модульные тесты. Как иметь единый QG? Решением будет общий охват, но мы вернулись к проблеме агрегации. Кстати, общий охват больше не отображается в пользовательском интерфейсе.

person Simon Schrottner    schedule 08.05.2018