2012-08-10 3 views
3

나는 프로젝트를 maven으로 만들었고 최근에 Sonar를 통합했다. 프로젝트를 분석하기 위해 Sonar를 구성하는 것은 정말 쉽지만 프로젝트 유닛을 실행하도록 구성 할 수는 없다. 시험도. 나는 Jacoco로 무언가를 시도했지만 Seam 오류가 발생하고 다른 모든 테스트는 건너 뜁니다. 그런데 TestNG를 사용하여 수동으로 테스트를 실행합니다.어떻게 단위 테스트를 성공적으로 수행 할 것인가?

+0

단계별 조치로 단계를 게시하여 프로젝트를 분석 할 수 있습니까? 약간의 단계가 누락되었을 수 있습니다. –

답변

1

소나는 테스트를 실행할 수 없으며 테스트 보고서 만 분석 할 수 있습니다.

당신은 자신의 JUnit (exemple를 위해 메이븐 또는 Ant를 사용하여)를 실행할 수

를 (그것을 위해 수중 음파 탐지기의 메이븐 plugin 시도) 소나에 보고서를 밀거나 당신은 자신에게 빌드 공장 (exemple에 대한 hudson 시도) 및 플러그를 제공 할 수 있습니다 그것을 sonar.

+0

그럼 TestNG 결과를 다시 사용하고 싶습니다. sonar에 이러한 결과 (xml 파일)의 경로를 표시하는 방법이 아닙니까? – spauny

+0

사실이 아닙니다. 소나는 테스트를 실행할 수 있습니다. http://docs.codehaus.org/display/SONAR/Analyzing+with+Maven 문서를 보면 Maven 빌드에서 테스트를 해제하여 빌드를 두 번, 한 번 빌드 한 번 실행하지 않도록하는 것이 좋습니다. 소나를 사용할 때. –

+0

당신이 말하는 두 가지 분석은 모두 메이븐과 함께 실행됩니다 : 첫 번째 메이븐 설치 목표 동안, 두 번째 중 하나는 메이븐 소나 목표 – mabroukb

2

소나의 관련 Analysis Parameters을 사용하여 이전 실행에서 테스트 보고서를 다시 사용할 수 있습니다. sonar.dynamicAnalysis 속성을 reuseReports으로 설정하고 테스트 실행 방법에 따라 sonar.jacoco.reportPath 또는 sonar.surefire.reportPath에 보고서의 위치를 ​​지정합니다.

그런데 mvn sonar:sonar은 단위 테스트를 분석의 일부로 실행하는 maven의 test 목표를 호출합니다. 그래서 당신의 maven이 단위 테스트를 할 수 있다면, 소나는 그들을 실행할 수 있어야합니다.

관련 문제