[java] Eclipse에서 테스트하는 동안 -D 시스템 속성을 전달하는 방법은 무엇입니까?

Windows의 Eclipse에서 개발 중이며 Code는 Unix에 배포됩니다. System.getProperty ( “key”)를 사용하여 시스템 속성 값을 가져옵니다. 코드를 수정할 필요가없고 디버깅을 위해 Eclipse에서 작동하도록 Eclipse에서 어떻게 전달합니까?

어떤 제안?



답변

실행-> 구성 실행, 프로젝트 선택, 두 번째 탭 : “인수”. 상단 상자는 프로그램 용이고 하단 상자는 VM 인수 용입니다 (예 : -Dkey=value.


답변

System.properties이클립스에서 사용하기 위해 java를 사용할 수 있습니다 .

  1. 다음 과 같이 -Dlabel="label_value"테스트의 VM 인수를 추가 Run Configuration합니다.

eclipse_vm_config

  1. 그런 다음 테스트를 실행합니다.

    import org.junit.Test;
    import static org.junit.Assert.assertEquals;
    
    public class Main {
        @Test
        public void test(){
            System.out.println(System.getProperty("label"));
            assertEquals("label_value", System.getProperty("label"));
        }
    }
    
  2. 마지막으로 테스트를 통과하고 콘솔에 다음을 출력해야합니다.

    label_value

답변

실행 구성에 명령 줄 인수를 추가 할 수 있습니다. 실행 구성을 편집하고 -Dmyprop = value (또는 기타)를 VM Arguments Box에 추가하기 만하면됩니다.


답변

구성 실행-> 인수-> vm 인수

(Debug Configuration-> Arguments-> VM Arguments 아래의 디버그 구성에도 배치 할 수 있습니다.)


답변

이것은 junit에서 작동합니다. TestNG의 경우 다음 명령을 사용하십시오.

-ea -Dmykey="value" -Dmykey2="value2"


답변

예, 이것이 방법입니다.

프로그램을 마우스 오른쪽 버튼으로 클릭하고 실행-> 구성 실행을 선택한 다음 vm 인수를 선택하십시오.

-Denv=EnvironmentName -Dcucumber.options="--tags @ifThereisAnyTag"

그런 다음 신청하고 닫을 수 있습니다.


답변