2014-02-16 5 views
6

유닛 테스트를 거친 Java 프로젝트를 분석 중이며 Cobertura coverage.xml이보고했습니다. SonarQube 4.1.1과 최신 Sonar Runner를 사용하고 있습니다. 성공적으로 Cobertura 적용 범위 결과를 Sonar 3.2 및 Ant 분석기로 가져 왔지만이 새 버전에서는 문제가 발생합니다. 새로운 Sonar 분석 실행에서 (Jenkins를 통해) 로그에 Cobertura 엔진이나 다른 어떤 것도 시작하지 않았 음을 알 수 없습니다. 러너 젠킨스 프로젝트 내 설정 :SonarQube가 Cobertura 코드 커버리지를받지 않음

sonar.dynamicAnalysis=reuseReports 
sonar.java.coveragePlugin=cobertura 
sonar.cobertura.reportPath=[mypath]/coverage.xml 
sonar.junit.reportsPath=[mypath]/ 

(내 자신의 속성 값 제외) 분석 출력 Cobertura 없음 대한 언급과 SonarQube 페이지 쇼 "-"적용 범위 보고서입니다. 단위 테스트 결과가 잘 보입니다.

모든 소스, bin 및 테스트 디렉토리도 추가했습니다. 어떤 아이디어? 감사.

업데이트 나는 이전 프로젝트에서 젠킨스 내 SonarQube 프로젝트 클론 (복제 플러그인) 작업 공간 구축하기 때문에 Cobertura 범위가 SonarQube 페이지에보고되지 않은 이유는, 경우 궁금해? coverage.xml 파일에 정적 경로가 포함되어 있다면 어쨌든 잘못되었을 수 있습니다.

답변

4

좋아요. 해결책은 아주 분명했습니다. SonarCube 4.1.1에는 Cobertura가 미리 설치되어 있지 않으므로 설치 했었지만 이제는 작동합니다 :) 3.2 버전에 사전 설치되어 있었지만 기억이 안납니다.

+1

어떻게 설치 했습니까? 수중 음파 탐지기를 사용하기 위해 따라야 할 단계는 무엇입니까? –

+1

솔루션은 분명하게 들리 겠지만 증상으로 인해 분명히 분명하지는 않습니다 ... 로그에 일종의 경고 또는 오류 메시지가 있어야합니다. @amit_kumar를 SQ의 관리자로 사용하려면 업데이트 센터로 이동하여 Cobertura 플러그인을 찾으십시오. (이는 클라이언트가 아닌 서버에 적용됩니다) – Phil

0

SonarQube의 모든 "재사용 보고서"기능 (코드 범위, 테스트 실행 또는 중간 보고서를 생성하는 기타 타사 도구 일 수 있음)의 경우 동일한 원본 파일을 기반으로 보고서를 생성해야합니다 파일 시스템 위치 용어)를 SonarQube 분석에 사용되는 것보다 높게 설정합니다. 그렇지 않으면 SonarQube 플러그인은 보고서의 경로를 분석 된 소스의 경로와 일치시킬 수 없습니다.

그래서 당신은 정확하게 추측했습니다. 작업 영역을 복제하고이 복제본에 대해 SonarQube 분석을 실행하면 범위를 계산할 수없는 이유입니다.

+0

흠 아직도 작동하지 않는다고 생각합니다. 지금 빌드를 테스트하고 코드 적용 범위를 실행했습니다. 그런 다음 SonarQube 분석을 실행했지만 여전히 적용 범위를 선택하지 않았습니다. 키워드 "Cobertura"는 Sonar Runner 결과물에 나오지 않습니다. 그러면 다른 점이 잘못되었다고 생각하게됩니다. – user1340582

관련 문제