2010-03-18 50 views
4

好的,我很喜歡jUnit的其他和新功能,並且很難嘗試使它工作。我搜索了論壇,但提供了答案;我只是沒有得到。如果有人能幫我一把,我會非常感激。JUnit:4.8.1「找不到類」

讓我提供的基本知識: 操作系統:Mac OS十.6

export JUNIT_HOME="/Developer/junit/junit4.8.1" 
export CVSROOT="/opt/cvsroot" 
export PATH="/usr/local/bin:/usr/local/sbin:/usr/localmysql/bin:/opt/PalmSDK/Current/bin/:/usr/local/mysql/bin:$PATH:$JUNIT_HOME:$CVSROOT" 
export CLASSPATH="$CLASSPATH:$JUNIT_HOME/junit-4.8.1.jar:$JUNIT_HOME" 

我可以從一個java文件編譯測試類,但是當我嘗試再運行測試

java org.junit.runner.JUnitCore MyTest.class 

我得到如下:

JUnit version 4.8.1 
Could not find class: MyTest.class 

Time: 0.001 

OK (0 tests) 

現在,我一直在目錄與MyTest.class這只是在我的文件系統中的某處,我試圖將源文件夾移動到junit文件夾和junit/junit4.8.1文件夾,結果相同。我甚至無法運行junit帶來的測試。

+0

你嘗試添加當前目錄到CLASSPATH ?即導出CLASSPATH =。:$ CLASSPATH:[etc ...] – 2010-03-18 18:34:09

+0

感謝發佈,不,我不應該需要它。原來是簡單的打字錯誤 – Patrick 2010-03-19 01:44:56

回答

7

+0

是的,包括「.class」是我的問題的一部分,因爲沒有使用正確的案例。一旦我確定我沒問題。我不需要擔心類路徑,因爲它只是在默認包中。 – Patrick 2010-03-19 01:42:42

+0

謝謝你,這個老帖子也解決了我的問題。包括 。類路徑中的類文件做到了! – janhink 2011-04-08 18:57:43

0

找到JUnit沒有問題 - 它發現沒問題。它找不到MyClass,因此該類的目錄(假定它是無包裝的)需要位於類路徑中。從MyTest.class即 的Java org.junit.runner.JUnitCore MyTest的

+0

那是我在想,但事實證明這是我的錯誤。感謝您的建議。 – Patrick 2010-03-19 01:45:51

2

刪除的.class是MyTest真的在默認的包?如果不是,那麼你需要給出整個包的限定名。換句話說,如果MyClass的有一個說法

package com.myself; 

,住在

/myproject/src/com/myself/MyClass.java 

,你編譯成

/myproject/classes 

然後/myproject/classes必須對您的CLASSPATH你必須

java org.junit.runner.JUnitCore com.myself.MyTest 

試想想起來了,我現在要追加.class類名看,所以即使是在默認的包,你應該說

java org.junit.runner.JUnitCore MyTest 
+0

我真的覺得有點傻,看起來像我的問題是忘記了java命令是區分大小寫的。一旦我輸入了正確的案例,那麼它工作得很好。 謝謝大家,趕快回到我身邊!我非常感謝你的幫助,當我嘗試測試一個更復雜的項目時,肯定會回頭看看這個主題。 再次感謝 Patrick – Patrick 2010-03-19 01:38:23