내가 지금처럼 이클립스에서 개발중인 응용 프로그램에서 JUnit 테스트를 실행하려고 : 테스트 케이스가 필요로하는 경우실행 JUnit 테스트
JUnitCore junitCore = new JUnitCore();
ClassLoader cl = Main.class.getClassLoader();
Class<?> test = cl.loadClass("test.TestCase1");
Result r = junitCore.run(test);
이 잘 실행하지만, 일부 파일을 사용하면 FileNotFoundException
이됩니다. Eclipse 프로젝트에서 동일한 테스트를 실행하면 테스트에 그런 오류가 없다. 내 JVM의 작업 디렉토리 (user.dir
속성에 정의 됨)가 Eclipse 프로젝트와 동일하지 않기 때문에 이것이라고 생각합니다. 내가 아는 한, 실행중인 JVM에서 user.dir
을 변경할 수 없습니다.
이 동작을 변경하려면 어떻게해야합니까? Eclipse 프로젝트와 동일한 작업 디렉토리로 새 JVM을 시작하는 유일한 방법입니까? 그렇다면 어떻게 할 수 있습니까? Ant와 같은 도구를 사용하지 않는 것이 좋습니다.
편집 : 여기 이클립스 프로젝트에 전달하는 테스트의 예입니다, 나는이 프로젝트의 외부 프로그램을 실행할 때 FileNotFoundException
를 생성
@Test
public void test() throws Exception {
FileInputStream fstream = new FileInputStream("test1.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
assertEquals("file content", br.readLine());
}
파일을로드하는 코드를 가장 잘 보여줄 수 있습니까? – Anton
@Umar 파일을로드하는 테스트의 예를 의미합니까? 나는 너를 위해 그것을 편집 할 것이다. – aperez
궁금한 점이 있으십니까? 왜 이클립스에서 기본적으로 junit 플러그인을 가지고있을 때 junit을 실행하는 응용 프로그램을 작성 하시겠습니까? –