2016-09-30 94 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

我已更新我的问题以添加更多内容和说明。 –