2016-09-30 60 views
0

我在同一個文件夾中有.java文件及其.class文件,junit測試文件以及junit-4.10.jar和hamcrest-core-1.3.jar。我想這樣做來構建它下面:使用命令行構建和運行junit測試文件的問題

javac ErrorTest*.java

我得到了很多錯誤的說法

error: package org.junit does not exist

然後,當我嘗試使用JUnit的文件位於/ usr /共享/ java文件夾使用這個命令:

javac -cp /usr/share/java/* ErrorTest*.java

我得到以下錯誤:

javac: invalid flag: /usr/share/java/ant-antlr-1.9.6.jar Usage: javac use -help for a list of possible options

如何構建並運行這些ErrorTest.java junit文件?

編輯:好吧,我想通了,但我不明白爲什麼。

下使我的錯誤:

javac -classpath /path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java 

下產生所需的.class文件:

javac -classpath .:/path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java 

任何人都可以解釋爲什麼 「:」 工程?非常感謝。

+0

如果我在使用-cp/usr/share/java/*的類路徑中包含junit.jar或將junit.jar複製到工作目錄中,我似乎錯過了依賴關係jar –

+0

,但我仍然收到錯誤:package org。 junit不存在。我不知道爲什麼它找不到junit.jar ... –

+0

你使用任何IDE?或使用文本編輯器和命令行 –

回答

2

其becasue,Java類路徑指向當前的目錄中"."表示,它會尋找類在當前目錄。

如果我們在CLASSPATH變量中定義了多個目錄,Java將從第一個目錄開始尋找一個類,只查找第二個目錄,以防第一個目錄中沒有找到指定的類。多個目錄的類路徑中添加":"

您已設置classpath的幫助像

javac -classpath .:/path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java 

所以使用這個命令你在classpath中設置多個目錄。

JVM搜索目錄按它們在CLASSPATH變量中列出的順序排列。

在你的情況似乎有些類是存在於當前目錄中,所以如果你沒有在第二條路徑的類路徑JVM搜索提供當前目錄下,然後第三,但所需的類不存在這樣看來,它不工作

0

對於從命令提示符下運行JUnit 4.x的測試用例,你應該低於命令

java -cp C:\lib\junit.jar org.junit.runner.JUnitCore [test class name] 

使用對於來自你需要使用下面的命令

java -cp /usr/java/lib/junit.jar junit.textui.TestRunner [test class name] 

命令提示符下運行JUnit 3.x的測試用例示例程序

**TestCaseA.java** 
package test; 

import org.junit.Test; 
import org.junit.After; 
import org.junit.Before; 


    public class TestCaseA 
    { 
     @Before 
     public void beforeMethod() 
     { 
      System.out.println("Before method.."); 
     } 

     @Test 
     public void JUnit4Test() 
     { 
      System.out.println("In test method"); 
     } 

     @After 
     public void afterMethod() 
     { 
      System.out.println("after method"); 
     } 
    } 

從命令提示符執行

java -cp junit-4.10.jar;test\TestCaseA.class; org.junit.runner.JUnitCore test.TestCaseA 

enter image description here

+0

謝謝。但是,我的問題是如何構建.java文件。 –

+0

我已更新我的問題以添加更多內容和說明。 –