如何安装/使用 JUnit?

Jie*_*eng 10 java

我已经在我的 Ubuntu 11.04 上安装了 JUnit

sudo apt-get install junit
Run Code Online (Sandbox Code Playgroud)

然后创建一个测试文件,如:

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));
  }
}
Run Code Online (Sandbox Code Playgroud)

然后尝试在终端中运行

java org.junit.runner.JUnitCore TestBasicLinkedList.java
Run Code Online (Sandbox Code Playgroud)

得到了:

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.
Run Code Online (Sandbox Code Playgroud)

我如何使用 JUnit?有没有比长命令更好的更短的使用方法java org.junit.runner.JUnitCore TestBasicLinkedList.java?也许像junit *.Tests.java也许?

dan*_*ann 13

为了让您启动并运行,这是一个基本的测试用例:

import junit.framework.TestCase;

public class TestBasicLinkedList extends TestCase {
  public void testTrue() {
    assertTrue(true);
  }
}
Run Code Online (Sandbox Code Playgroud)

测试类应该扩展TestCase,测试方法应该以“test”开头,不接受任何参数并返回void。

编译:

javac -cp /usr/share/java/junit4.jar TestBasicLinkedList.java
Run Code Online (Sandbox Code Playgroud)

跑步:

java -cp /usr/share/java/junit4.jar:. org.junit.runner.JUnitCore TestBasicLinkedList
Run Code Online (Sandbox Code Playgroud)

这是针对 JUnit 4 的;JUnit 3 使用不同的类来执行测试(试试 junit.textui.TestRunner)。


小智 11

通常,JUnit(就像任何 Java 库一样)需要在您的类路径中。我不知道 Ubuntu 究竟在哪里存储 junitX.jar,但你可能想要这样的东西:

java -cp .:/usr/share/java/junit4-4.10.jar TestBasicLinkedList
Run Code Online (Sandbox Code Playgroud)

你需要先编译TestBasicLinkedList

  • `/usr/share/java/junit.jar` 链接到最新的 junit3 版本,而 `/usr/share/java/junit4.jar` 链接到最新的 junit4 版本。 (2认同)