2013-05-08 25 views
1

我正在開發Linux Mint 14.我安裝了junit,並且驗證了它在PATH上。在我的home文件夾中,我有一個名爲testClass.class的類,並在其中定義了測試方法。當我嘗試運行該程序時,出現以下錯誤:只能使用gedit/vim。如何通過命令行運行JUnit類

[email protected] ~ $ java -cp /usr/share/java/junit.jar junit.textui.TestRunner testClass.class 
Class not found "testClass.class" 

如何繼續?我究竟做錯了什麼?請注意,我沒有使用全面的IDE,而只是一個文本編輯器。

回答

4

您應該使用

java -cp .:/usr/share/java/junit.jar junit.textui.TestRunner testClass 
  1. 你應該增加。 (當前目錄)到classpath中
  2. 你應該使用類名即TestClass不testClass.class

編輯

首先,你應該閱讀的JUnit的文檔。有很多手冊。 https://github.com/junit-team/junit/wiki

如果使用junit4,您可以輕鬆地開始這樣的:

  1. 下載的JUnit 4.11.jar:從JUnit的網站hamcrest核-1.3.jar。
  2. 創建TestCase.java文件是這樣的:
import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.junit.runners.JUnit4; 

@RunWith(JUnit4.class) 
public class TestCase { 
    @Test 
    public void testA(){ 
     org.junit.Assert.assertTrue(true); 
    } 
} 
  1. 的javac -cp的JUnit 4.11.jar TestCase.java
  2. java命令:基於JUnit 4.11.jar:hamcrest-核心1.3.jar org.junit.runner.JUnitCore的TestCase

然後你可以找到測試結果是這樣的:

JUnit version 4.11 
. 
Time: 0.006 

OK (1 test) 
+0

現在得到這個錯誤:〜$ java -cp。:/ usr/share/java/junit.jar junit.textui.TestRunner testClass 線程「main」中的異常java.lang.ClassFormatError:類中的不兼容魔術值169877536文件testClass 這是什麼意思? – Dragan 2013-05-08 15:01:01

+0

@Dragan你的類文件被破壞,再次編譯它。有效Java類的神奇值是0xCAFEBABE(十六進制值爲3405691582),它是前4個字節。 – 2013-05-08 15:04:38

+0

我將它改爲.java而不是.class,並試圖編譯它,但是它找不到在頂部聲明的junit的依賴關係,它不能解釋@Test。如何在不使用IDE的情況下包含這些引用? – Dragan 2013-05-08 15:08:05

0

將當前目錄添加到您的類路徑中。

java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner testClass.class