2011-11-16 5 views
4

나는 코드 커버리지 정보를 캡처 할 수있는 테스트 환경에 Cobertura을 통합하기 위해 노력하고있어. 테스트는 ANT junit tasks를 사용하여 개미 스크립트에서 실행되며, 하나 이상의 JUnit을 작업 정의가있는 50 개 이상의 개미 스크립트 파일 (build.xml 파일)이 있습니다.Java 응용 프로그램의 전역 시스템 등록 정보를 지정하는 방법은 무엇입니까?

Cobertura doc에 따르면, junit 테스트는 junit 작업의 중첩 요소 인 sysproperty을 통해 cobertura 적용 범위 데이터 파일의 경로를 제공해야합니다. 무엇이 나에게 의미하는 것은 내가 최후의 수단으로 할 계획의 JUnit 작업에 대한 sysproperty 요소를 지정하기 위해 모든 50 개 이상의 파일을 업데이트해야 할 것입니다.

Linux (CentOS)에서 테스트를 실행 중이며 글로벌 시스템 속성 (-Dxxx=yyy)을 지정하여 시스템에서 실행중인 모든 Java 응용 프로그램에서 시스템 속성을 사용할 수 있는지 알고 싶습니다.

-EDIT-
junit 테스트는 분기 된 JVM에서 실행됩니다. <junit fork="yes" ...

+0

사용 IDE에 따라, 신속하게 리팩토링 매우 간단해야한다. 또한 도움이 될 경우 ant 입력 작업을 시도 할 수도 있습니다. – r0ast3d

+0

@ r0ast3d 내가 언급 한 것처럼 스크립트를 수정하지 않아도되는 또 다른 간단한 솔루션을 찾지 못한다면 내가 취할 방법입니다. – srkavin

답변

7

당신은 ANT_OPTS 환경 변수를 설정하려고 할 수 있습니다.


ANT_OPTS - JVM으로 전달되어야하는 명령 줄 인수. 예를 들어, 시스템 특성을 정의하거나 여기서 최대 Java 힙 크기를 설정할 수 있습니다.

-EDIT-


당신은 _JAVA_OPTIONS 환경 변수를 설정해야합니다. Herehere 거기에 대한 정보가 있습니다.

+0

+1 감사합니다. 동일한 VM 내에서 테스트를 실행하면 작동하지만 포크 된 VM에서 테스트를 실행해야합니다. 나는 그 질문을 갱신했다. – srkavin

+0

방금 ​​내 대답을 업데이트했습니다. 기본 JVM 속성을 정의하려면'_JAVA_OPTIONS' 환경 변수를 설정해야합니다. – szhem

+0

그것은 일했다 !!! 감사. – srkavin

0

대안으로 환경 변수와 개미 스크립트 사용 설정 :
(주로 철 VM 매개 변수와 같은 개미 내부 설정을위한 것입니다 ..) ANT_OPTS를 사용하여 이상의 장점은 userspecific에 대한 가능성이

<property environment="env"/> 
<echo>${env.yourEnvVariable}</echo> 
... 

입니다 설정은 사용자 환경 변수를 사용하는 반면 ANT_ARGS는 모든 앤트 스크립트에 대해 "정적"입니다.

관련 문제