2016-10-08 3 views
1

나는 현재 프로그램이 같은 일을 JUnit 테스트를 실행할 수 있어요 Sommatore.class와 동일한 디렉토리에 있습니다. 그래서 Junot 테스트를 실행할 수 있는지, 동일한 ClassLoader의 다른 디렉토리에서 .class 파일을 별도로로드하여 SommatoreTest가 Sommatore를 "볼"수 있도록 할 수 있는지 궁금합니다.실행 JUnit 테스트 프로그램로드 다른 .class 파일은

미리 답변 해 주셔서 감사합니다. 그리고 좋은 일을 계속하십시오!

+0

궁금한 점 : 왜 정확히 그렇게하고 싶습니까? JUnit 테스트를 그렇게 복잡한 방식으로로드하는 요점은 무엇입니까? – GhostCat

+0

원격 시스템에 TestClass를로드하고 모든 학생들이 일부 코드를 작성해야하며이 원격 시스템에 요청을 동시에 보내는 junit 테스트를 실행할 수있는 애플리케이션을 만들어야합니다. (나쁜 영어로 유감스럽게 생각한다면) 나에게 말해줘. 당신의 대답을 주셔서 감사합니다 –

답변

0

당신은 단순히 URL는 테스트 클래스의 루트 폴더 또는 테스트 클래스를 포함하는 jar 파일URLClassLoader 경기를 한 것으로 확인해야합니다. 귀하의 경우에는

가 그렇게 클래스의 FQN이 my.package.MyTest하고 파일 MyTest.class 디렉토리 /my/class/dir/my/package에 있다고 가정하고, 디렉토리를 사용하는 것, 당신은 URL이의 루트 폴더와 일치하는지 확인해야 귀하의 테스트 클래스는이 경우에 /my/class/dir/이 될 것입니다.

+0

도와 주셔서 감사합니다 니콜라스 Filotto,하지만 내가'/ my/class/dir/my/package' 디렉토리에있는'MyTest.class'를 실행할 수 있는지 궁금 해서요. My.class (그래서 non-TestClass). 예를 들어'my/another/dir/my/package'에 있습니다. 기본적으로 나는'My.class'와'MyTest.class'가 같은 디렉터리에 있어야하는지, 아니면 이렇게 할 수있는 해결 방법이 있는지 알고 싶었습니다. –

+0

아니요 필요하지 않지만 개인/보호 된 메소드/필드/생성자 패키지에 액세스 할 수 있도록 규칙/방법으로 수행하는 방법 –

+0

내 목표를 달성하기 위해 리플렉션을 사용해야합니까? –