2016-07-16 4 views
1

C# 프로젝트를 참조하는 Atlassian Bamboo 계획이 있습니다. 구성된 작업은 다음과 같습니다.SonarQube 프로젝트가 Atlassian Bamboo와 통합되었을 때 코드 커버리지가 공백이 아닙니다.

a) C# 솔루션 파일을 작성하는 MSBuild 작업. b) 유닛 테스트를 실행하기위한 NUnit Runner 및 NUnit Parser 태스크. c) NUnit 유닛 테스트를 실행하고 적용되는 라인, 분기 커버 리지 등과 같은 메트릭을 생성하는 OpenCover 태스크 d) SonarQube 프로젝트에서 코드 커버리지 메트릭을 생성하는 SonarQube 러너 태스크.

메트릭이 단계 c)에서 성공적으로 생성되고 결과가 OpenCover 명령의 출력으로 .xml 파일에 기록됩니다. 그러나 단계 d) 후에 SonarQube 러너가 성공적으로 실행되고 단위 테스트 수, 테스트 합격, 건너 뛴 테스트, 테스트 실패와 관련하여 Sonar 프로젝트에서 결과를 보여줍니다. 그러나 코드 커버리지 열은 "-"로 표시됩니다.

여러 프로젝트로 C# 솔루션을 만들고 루트 (솔루션) 수준에 sonar-project.properties 파일이 있습니다. 내가 다음 Sonar-project.properties 파일을 사용

sonar.projectKey=<KeyName> (Key name of C# project in SonarQube) 
sonar.projectName=<ProjectName> (Project name in SonarQube) 
sonar.projectVersion=1.0 
sonar.sources=. 
sonar.language=cs 
sonar.cs.nunit.reportsPaths=ABC.xml(Output of Nunit task) 
sonar.cs.opencover.reportsPath=XYZ.xml(Output of OpenCover task) 

는이 점에서 나를 인도 해 주시기 바랍니다, 어떤 도움은 매우 극명하게 될 것이다.

감사

+0

보고서 경로가 올바른지 -이 같을 수 없습니다 둘 다위한 파일? 그렇다면 OpenCover 출력 파일에 적용 범위 정보가 있습니까? 나는 sonar가 로컬 호스팅과 nemo.sonarsource.org에 대해 모두 작업했었다. https://blog.many-monkeys.com/improving-your-source-code/ –

+0

@ShaunWilde : 예, 두 가지 다른 점이 있습니다. NUnit 및 Open Cover 작업의 파일 이름을 출력합니다. 또한 XYZ.xml 파일에서 라인 커버리지, 지점 커버리지 등과 같은 Open Cover 출력을 볼 수 있습니다. 그러나 Bamboo에서 SonarQube Runner 작업 (v 2.4)을 실행하면 SonarQube 보고서에 코드 적용 열을 채우는 것을 보여주지 못하고 "-"로 표시됩니다. 그러나 통과 된 테스트 수, 실패한 테스트 등 다른 모든 열은 잘 채워집니다. 따라서 Sonar 프로젝트 속성 파일에 어떤 행이 누락되어 있는지 확실하지 않습니다. Sonar Runner 작업을 위해 .bat 파일을 사용해야합니까? – Vineet

+0

빌드 스크립트에서 https://github.com/SonarSource-VisualStudio/sonar-scanner-msbuild/releases를 사용했습니다. 사용 예는 https://github.com/MYOB-Technology/에서 확인할 수 있습니다. AccountRight_Live_API_.Net_SDK/blob/master/sonar.bat –

답변

0

매우 늦게 대답하지만 미래에 누군가가 도움이 될 수 있습니다 :

당신은 당신의 라인에 reportsPaths을 맞춤법이 틀린

sonar.cs.opencover.reportsPath=XYZ.xml