Làm thế nào để cài đặt / sử dụng JUnit?


9

Tôi đã cài đặt JUnit trên Ubuntu 11.04 của mình

sudo apt-get install junit

Sau đó, tạo một tệp thử nghiệm như:

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));
  }
}

Sau đó thử chạy trong thiết bị đầu cuối

java org.junit.runner.JUnitCore TestBasicLinkedList.java

Có:

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.

Làm cách nào để sử dụng JUnit? Có cách nào ngắn hơn để sử dụng nó tốt hơn so với lệnh dài java org.junit.runner.JUnitCore TestBasicLinkedList.java? Có lẽ một cái gì đó như junit *.Tests.javacó thể?

Câu trả lời:


11

Nói chung, JUnit (giống như bất kỳ thư viện Java nào) cần phải nằm trên đường dẫn lớp của bạn. Tôi không biết chính xác nơi Ubuntu lưu trữ JunitX.jar, nhưng bạn có thể muốn một cái gì đó như thế này:

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

Bạn sẽ cần phải biên dịch TestBasicLinkedListtrước.


2
/usr/share/java/junit.jarliên kết đến phiên bản Junit3 mới nhất, trong khi /usr/share/java/junit4.jarliên kết đến phiên bản Junit4 mới nhất.
daniel kullmann

13

Để giúp bạn đứng dậy và chạy, đây là trường hợp thử nghiệm cơ bản:

import junit.framework.TestCase;

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

Lớp thử nghiệm nên mở rộng TestCase và các phương thức thử nghiệm sẽ bắt đầu bằng "test", chấp nhận không có đối số và trả về khoảng trống.

Để biên dịch:

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

Chạy:

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

Đây là cho JUnit 4; JUnit 3 sử dụng các lớp khác nhau để thực hiện các bài kiểm tra (thử Junit.textui.TestRunner).


Cảm ơn .. java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner TestBasicLinkedListlàm việc cho JUnit3. Điều này rất hữu ích.
Jayesh

Giải thích tuyệt vời để đảm bảo rằng những điều cơ bản đang chạy! Thx a ton
Boris Däppen

1
sudo apt-get install junit4
  • /usr/share/java/junit4.jar là một liên kết đến phiên bản Junit4 mới nhất.
  • /usr/share/java/junit.jar là một liên kết đến phiên bản Junit3 mới nhất.

Nếu ứng dụng của bạn yêu cầu bạn thiết lập $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

Nếu ứng dụng của bạn yêu cầu nó phải có nó trong $CLASSPATH:

Chỉ cần sao chép nó vào một trong các thư mục classpath của ứng dụng của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.