JUnit을 설치 / 사용하는 방법? : Exception in thread “main” java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore Caused

우분투 11.04에 JUnit을 설치했습니다

sudo apt-get install junit

그런 다음 다음과 같은 테스트 파일을 작성하십시오.

import org.junit.*;

public class TestBasicLinkedList {
  @Test public void testCanAdd(String[] args) {
    BasicLinkedList<Integer> list = new BasicLinkedList();
    list.add(new BasicListNode<Integer>(1));
    assertTrue(list.size() == 1);
    assertTrue(list.getFirst().getElement().equals(1));
  }
}

그런 다음 터미널에서 실행을 시도했습니다.

java org.junit.runner.JUnitCore TestBasicLinkedList.java

있어 :

Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.junit.runner.JUnitCore. Program will exit.

JUnit을 어떻게 사용합니까? 긴 명령보다 사용하는 것이 더 짧은 방법이 java org.junit.runner.JUnitCore TestBasicLinkedList.java있습니까? 아마도 junit *.Tests.java어쩌면?



답변

일반적으로 JUnit (Java 라이브러리와 동일)은 클래스 경로에 있어야합니다. 정확히 Ubuntu가 junitX.jar을 어디에 저장하는지 모르지만 다음과 같은 것을 원할 것입니다.

java -cp .:/usr/share/java/junit4-4.10.jar TestBasicLinkedList

TestBasicLinkedList먼저 컴파일해야합니다 .


답변

시작하고 실행하기위한 기본적인 테스트 사례입니다.

import junit.framework.TestCase;

public class TestBasicLinkedList extends TestCase {
  public void testTrue() {
    assertTrue(true);
  }
}

테스트 클래스는 TestCase를 확장해야하며 테스트 메소드는 “test”로 시작하고 인수를 허용하지 않으며 void를 리턴해야합니다.

컴파일하기:

javac -cp /usr/share/java/junit4.jar TestBasicLinkedList.java

실행하려면

java -cp /usr/share/java/junit4.jar:. org.junit.runner.JUnitCore TestBasicLinkedList

이것은 JUnit 4 용입니다. JUnit 3은 테스트를 수행하기 위해 다른 클래스를 사용합니다 (junit.textui.TestRunner를 시도하십시오).


답변

sudo apt-get install junit4
  • /usr/share/java/junit4.jar 최신 junit4 버전에 대한 심볼릭 링크입니다.
  • /usr/share/java/junit.jar 최신 junit3 버전에 대한 심볼릭 링크입니다.

응용 프로그램에서 설정해야하는 경우 $JUNIT_HOME:

mkdir ~/junit
ln -s /usr/share/java/junit4.jar ~/junit
ln -s /usr/share/java/hamcrest-core.jar ~/junit
export JUNIT_HOME=~/junit

응용 프로그램이 귀하의 응용 프로그램에 필요한 경우 $CLASSPATH:

응용 프로그램의 클래스 경로 디렉토리 중 하나에 복사하십시오.


답변