จะติดตั้ง / ใช้ JUnit ได้อย่างไร?


9

ฉันติดตั้ง JUnit บน Ubuntu 11.04 แล้ว

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อาจจะชอบ?

คำตอบ:


11

โดยทั่วไป JUnit (เหมือนกับไลบรารี Java ใด ๆ ) จำเป็นต้องอยู่ใน classpath ของคุณ ฉันไม่รู้ว่าที่ใดที่ Ubuntu จัดเก็บ junitX.jar แต่คุณอาจต้องการสิ่งนี้:

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

คุณจะต้องรวบรวมTestBasicLinkedListก่อน


2
/usr/share/java/junit.jarลิงก์ไปยังรุ่น junit3 ล่าสุดในขณะที่/usr/share/java/junit4.jarลิงก์ไปยังรุ่น junit4 ล่าสุด
daniel kullmann

13

เพื่อให้คุณพร้อมใช้งานนี่เป็นกรณีทดสอบพื้นฐาน:

import junit.framework.TestCase;

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

คลาสการทดสอบควรขยาย TestCase และวิธีการทดสอบควรเริ่มต้นด้วย "test" ไม่ยอมรับอาร์กิวเมนต์และส่งคืนโมฆะ

เพื่อรวบรวม:

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)


ขอบคุณ .. java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner TestBasicLinkedListใช้ได้สำหรับ JUnit3 สิ่งนี้มีประโยชน์
Jayesh

คำอธิบายที่ดีเพื่อให้มั่นใจว่าพื้นฐานกำลังทำงานอยู่! ขอบคุณตัน
Boris Däppen

1
sudo apt-get install junit4
  • /usr/share/java/junit4.jar เป็น symlink ของรุ่น junit4 ล่าสุด
  • /usr/share/java/junit.jar เป็น symlink ของรุ่น 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:

เพียงคัดลอกลงในไดเรกทอรี classpath ของแอปพลิเคชันของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.