2011-02-23 4 views
0

나는 여러 번의 테스트를 거쳤으며 커버리지를 알고 싶습니다 (Cobertura로 측정). Maven 2를 빌드 프레임 워크로 사용하고 있습니다.장비 파일이있는 부두 실행 (cobertura)

셀렌 테스트를 실행하기 전에 mvn jetty:run을 사용하여 웹 응용 프로그램을 실행합니다.

내 보고서에 수신 가능 데이터가 표시되도록하려면 계측 코드를 사용하려면 Jetty가 필요합니다.

mvn cobertura:instrument을 사용하여 명시 적으로 코드를 계측 할 수 있습니다. 하지만 어떻게하면 Jetty가 계측 된 코드 (디렉토리 target/generated-classes/cobertura)를 사용하도록 말할 수 있습니까? 부두 - 받는다는 - 플러그인 플러그인 항목의 구성 요소에서 미리

드미트리

답변

3

에서

덕분에, 당신은 클래스를 찾기 위해 다른 경로를 사용하게됩니다 요소를 지정할 수 있습니다.

<classesDirectory>${basedir}/target/generated-classes/cobertura</classesDirectory> 
+0

지금은지고있어 _java.lang.NoClassDefFoundError : 순/소스 포지/cobertura/coveragedata 당신이 당신의 부두 플러그인 요소에 다음을 추가 설정하면

, 난 당신이 사업에있을 것 같아요/부두를 시작할 때 HasBeenInstrumented_. –

+0

나는 cobertura 단지가 부두의 런타임 classpath에 없다고 생각할 것이다. 당신은 당신의 pom에 런타임 의존성으로 넣을 수있는 코 베르 타 우라 의존성을 추적 할 수 있습니까? – nojo

+0

Jetty 플러그인 구성에 Cobertura 종속성을 추가하여 위의 문제를 해결했습니다. 이제 또 다른 예외가 발생합니다 : _java.lang.ClassNotFoundException : net.sourceforge.cobertura.coveragedata.TouchCollector_. –