약간 다른 항아리 목록에서 테스트 케이스를 실행하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/419833

  •  05-07-2019
  •  | 
  •  

문제

동일한 시스템의 약간 다른 버전을 포함하는 JAR 파일 목록이 있습니다.

각 JAR 파일에서 일련의 테스트 케이스를 실행하면서 각 JAR에 대한 결과를 얻을 수 있습니다 (러리 리스너를 통해).

나는 암시 된 클래스 로딩 문제와 약간 혼란스러워합니다.

어떻게 그렇게 할 수 있습니까?

도움이 되었습니까?

해결책

Ant를 사용하는 경우 Junit 작업은 클래스 경로를 사용합니다.

<target name="test">
  <junit ...">
    <classpath>
      <pathelement path="${test.jar.path}" />
    </classpath>
    ...
  </junit>
</target>

Antcall 작업을 사용하여 Test.jar.path 속성에 대한 값이 다른 값으로 테스트 대상을 반복적으로 호출 할 수 있습니다.

다른 팁

항아리가 동일한 인터페이스를 유지하는 경우 다른 버전의 항아리와 함께 매번 다른 클래스 경로로 각 테스트를 실행하기 만하면됩니다.

Eclipse Junit 통합을 사용하는 경우 ClassPath 탭의 각 각각에 N 런 구성 만 작성하십시오. 필요한 항아리를 지정하십시오.

프로그래밍 방식으로하고 싶다면 빈 클래스 경로로 시작하여 사용하는 것이 좋습니다. UrlClassloader, 매번 다른 항아리 세트를 제공합니다.

이 같은:

URLClassloader ucl = new URLClassLoader( list of jars from version1 );
TestCase tc = ucl.loadClass("Your Test Case").newInstance();
tc.runTest();

ucl = new URLClassLoader( list of jars from version2 );
TestCase tc = ucl.loadClass("Your Test Case").newInstance();
tc.runTest();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top