2014-04-19 3 views
-1

저는이 문제를 놓치고 있습니다. 어떻게 설명해야할지 모르겠지만 최선을 다해 줄 것입니다.분리 된 코드로 단위 테스트를 실행하십시오.

나는 클라이언트가 내가 경쟁을 만들고 싶어하는이 프로젝트를 가지고있다. 한 사람이 Java 코드를 업로드해야하고 다른 사람이 JUnit 테스트를 업로드해야했습니다. 내 응용 프로그램은이 두 파일을 가져 와서 업로드 된 코드에서 업로드 된 테스트를 실행합니다.

이제 사용자가 파일을 업로드 할 수있는 방법을 알고 있지만 테스트를 실제로 실행할 수있는 방법을 찾지 못했습니다. 아무도 나를 도와 줄 수 없습니까?

public void actionPerformed(ActionEvent e) 
{ 
    if (e.getSource() == codeB) 
    { 
     //Get the code 
     File dir = new File(".."); 
     fc.setCurrentDirectory(dir); 
     int returnVal = fc.showOpenDialog(this); 
     if (returnVal == fc.APPROVE_OPTION) 
     { 
      codeF = fc.getSelectedFile(); 
      codeV.setText(codeF.getPath()); 
     } 
     else 
     { 
      System.out.println("Cancel"); 
     } 
    } 

    if (e.getSource() == testB) 
    { 
     //Get the test 
     File dir = new File(".."); 
     fc.setCurrentDirectory(dir); 
     int returnVal = fc.showOpenDialog(this); 
     if (returnVal == fc.APPROVE_OPTION) 
     { 
      testF = fc.getSelectedFile(); 
      testV.setText(testF.getPath()); 
     } 
     else 
     { 
      System.out.println("Cancel"); 
     } 
    } 

    if (e.getSource() == run) 
    { 
     //Run the tests on the code 
    } 
+0

가능한 복제본 [프로그래밍 방식으로 Java 클래스를 컴파일하고 인스턴스화하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/2946338/how-do-i-programmatically-compile-and-instantiate-a-java -class) – Joe

+0

나는 그것을 하루 종일 사용하여 작동 시키려고 노력했지만 너무 많은 노력을 기울일 수는 없다. 나는 JDK를 사용하고 있지만 클래스를 너무 많이로드하지 못하고있다. – RemcoW

+0

이 질문이 도움이됩니까? [내 Java 응용 프로그램 내부에서 JUnit 테스트를 실행하려면 어떻게합니까?] (http://stackoverflow.com/questions/2543912/how-do-i-run-junit-tests-from-inside-my-java-application) –

답변

0

당신의 코드가 문제에 전혀 관련이 없습니다 : 여기

는 내가 지금까지 가지고 코드입니다.

당신이해야 할 것은 :

  1. 클래스
  2. 모두 같은 클래스 로더에
  3. 테스트를 실행 단위 테스트 클래스를
  4. 부하를 컴파일 컴파일

프로그래밍 방식으로 junit 테스트를 실행하려면 다음을 수행해야합니다.

JUnitCore junit = new JUnitCore(); 
Result result = junit.runClasses(testClasses); // testClasses is the array of test classes to be executed 
관련 문제