2016-06-03 4 views
0

JaCoCo를 사용하여 코드 적용 범위를 얻고 몇 가지 수동 및 자동 End-to-End 테스트 후 Sonarqube에 표시하고 싶습니다. 현재, 우리는 또한 내가 악기로 Jacoco Agent를 사용하여 JVM에 코드가 필요 것 같습니다마누엘 테스트 코드 Sonarqube 코드

mvn test 동안 트리거 JUnit 테스트 커버리지를 수집 할 수 있습니다. 그러나 이것에 몇 가지 예가 필요합니다. 우선, Jacoco 요원을 어디에서 얻을 수 있는지 알아야합니까?

답변

3

이미 실행 중이며 실행 중일 때 출력됩니다.

-javaagent:E:\\mvnrepository\\org\\jacoco\\org.jacoco.agent\\0.7.5.201505241946\\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=E:\\example\\target\\jacoco-ut.exec,append=true,includes=org.example.* 
: 당신은 당신이에 대한 커버리지 데이터를 생성 할 JVM에 사용할 수 있으므로

[INFO] --- jacoco-maven-plugin:0.7.5.201505241946:prepare-agent (pre-unit-test) @ examples --- 
[INFO] jacoco.surefireArgLine set to -javaagent:E:\\mvnrepository\\org\\jacoco\\org.jacoco.agent\\0.7.5.201505241946\\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=E:\\examples\\target\\jacoco-ut.exec,append=true,includes=org.example.* 

생성 argline은 기본적으로 동일합니다 Jacoco 에이전트에 대한 포인터를 포함 확실한에 대한 인수 라인을 준비

수동 테스트를 마친 후에는 단위 테스트 결과를 얻기 위해 소나 분석을 다시 실행해야합니다. argline에있는 destfile은 반드시 당신의 maven 구조체 내의 위치를 ​​가리켜 야한다.

+0

답변 해 주셔서 감사합니다. 그것은 위대한 작품. jacoco 보고서를 병합 할 수 있습니까? 우리는 이제 여러 서브 - 메이븐 프로젝트들에 의해 생성 된 몇 개의 exec 파일들을 가지고 있습니다. 그러나 submodule에서 sonar로 푸시 할 때 그들은 소나 리포트에서 실패합니다. 어쩌면 부모 프로젝트에서 푸시해야합니까? –