1

다중 프로젝트 Gradle 스크립트가 있습니다. 나는 루트 프로젝트에 추가 :Gradle의 Sonarqube 작업이 테스트 적용 범위를 생성하지 않습니다.

buildscript { 
    repositories{ 
     ... 
    } 

    dependencies { classpath("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2.1") } 
} 

apply plugin: org.sonarqube.gradle.SonarQubePlugin 

sonarqube { 
    properties { 
     property "sonar.junit.reportsPath", "$projectDir/build/test-results/test" 
     property "sonar.host.url", "http://localhost:9000" 
     property "sonar.verbose", "true" 
    } 
} 

Sonarqube이 테스트의 정확한 수를 표시하지만 범위가 나는 Gradle을 3.0, 자바 1.8.0_45, Sonarqube 6.1을 사용하여 0

입니다.

Gradle console에는 많은 "Class not found"메시지가 표시됩니다.

Gradle을 콘솔도 보여줍니다 메시지 :

는 "경로 TEST 일치하는 파일이 포함되지 않은 보고서 - * XML :.. MYPATH의 \ 빌드 \의 시험 결과 \ 테스트"입니다

을, 특정 프로젝트에는 테스트가 없기 때문에 정확합니다.

+0

분석을 수행하고 테스트 커버리지 보고서를 소비하기를 기대합니까? –

+0

Sonarqube에서 테스트 커버리지를 만드는 방법에 대한 지침이 필요합니다. – isobretatel

답변

1

아니요 SonarQube 분석기 또는 플러그인이 테스트 또는 커버리지 계산을 실행하지 않습니다. 분석하기 전에 이러한 작업을 수행하고 결과 보고서를 분석에 제공해야합니다. 내 아이 프로젝트에서

+0

예제가 도움이 될 것입니다. – isobretatel

+0

블로그의 "적용 범위 통합을위한 지침서"링크가 끊어졌습니다. http://www.sonarqube.org/manage-code-coverage-by-unit-tests-with-sonar/ – isobretatel

1

, 내가 가진 : 루트 프로젝트의

apply plugin: 'java' 
apply plugin: "jacoco" 

jacocoTestReport { 
    reports { 
     xml.enabled = true 
    } 
} 

check.dependsOn jacocoTestReport 

실행 Gradle을 작업 "sonarqube을".

+0

대체하는 것이 더 좋을 것이라고 생각합니다. 'test.finalizedBy jacocoTestReport'로 끝나는 마지막 줄은 Jacoco가'test'를 어쨌든 실행할 필요가 있기 때문입니다. – Thunderforge