2010-02-24 91 views
0

我:的Java GUI测试

package Tester.GUI.api 
public class Test1{-----} 
在 “蝙蝠”

<path to java> -classpath<all jar defined in the classpath separated by ";"> org.junit.runner.JUnitCore Tester.GUI.api.Test1 

当我启动日 “蝙蝠” 我有以下几点:

JUnit version 4.6 
Could not find class: Tester.GUI.api.Test1 
Time: 0,203 

OK (0 tests) 

我已验证过jar文件,错字但未找到原因 有人可以帮忙吗?

回答

0

-classpath选项需要一组directies和/或jar文件。目前缺少这些内容,因此您的主类(JUnitCore)正在用作类路径,而Test1用作主类。我猜你想要JUnitCore作为主要类别,Test1作为参数。

尝试是这样的(代替您正在使用的jar-文件​​1,JAR-文件2罐子的实际名称):

java -classpath <jar-file1.jar>;<jar-file2.jar> org.junit.runner.JUnitCore Tester.GUI.api.Test1 

编辑: 假设jar文件被正确指定,错误消息指示Test1类不在类路径上。如果您使用的是IDE,则需要找到用于编译的输出目录(例如,在Eclipse中默认为<project>/bin)。在这个目录下你会找到其他结构为Tester/GUI/api的目录。名为Test1.class的文件将位于api目录中。这是需要将该输出目录添加到类路径中(即,Tester/GUI/api结构上方的那个)。

+0

我没有提到jar文件,因为我有很多jar,它已经在-classpath中指定,shuld我在src的.classpath文件中添加了一些东西?添加java测试类名称? – laura 2010-02-24 22:23:21

+0

如果您的系统已经设置为将所有需要的jar文件包含在'CLASSPATH'环境变量中,那么您也可以完全省略'-classpath'选项。在这种情况下,你的命令就是'java org.junit.runner.JUnitCore Tester.GUI.api.Test1'。 – 2010-02-24 22:25:26

+1

@laura:.classpath(您正在使用Eclipse或其他IDE?)将不会受到.bat文件的影响。这听起来就像你的'Test1'类在类路径中找不到。 @ Joe的建议应该可以帮助你追踪它(例如,如果你正在使用缺省输出文件夹“bin”的Eclipse,那么将'; bin /'添加到你的类路径列表中)。基本上,你想添加你的测试类正在被编译到的文件夹。 – Ash 2010-02-24 22:44:21

0

它说它找不到的类是Tester.GUI.api.Test1。你运行测试的目录是什么,Test1代码在哪个目录?

如果您设置-classpath变量,您可能还需要将当前目录包含在您的类路径中。所以,如果你原来的命令是

java -classpath C:\foo.jar;D:\bar1\bar2.jar org.junit.runner.JUnitCore Tester.GUI.api.Test1 

你可以通过添加;.-classpath选项的这样的末尾添加当前目录到类路径:

java -classpath C:\foo.jar;D:\bar1\bar2.jar;. org.junit.runner.JUnitCore Tester.GUI.api.Test1 

这将工作,只要在Test1类位于当前目录下的Tester\GUI\api目录中。

在Java中设置类路径的一个棘手问题是,您不想为实际的.java文件所在的目录提供目录,而是想要提供可以在其下找到指定目录的目录代码中的软件包。

例如,如果我在一个包bar.baz编译的类,Foo,那么我应该有一个名为Foo.class在一个名为baz名为bar另一个目录中的目录文件。如果我想包括Foo在我的类路径,如果Foo.class位于 C:\Users\Joe\Code\bar\baz\Foo.class,那么我必须要么运行

java -classpath C:\Users\Joe\Code [main class goes here] 

要不然我有我的目录更改为C:\Users\Joe\Code和运行

java -classpath . [main class goes here] 
+0

我不明白: 我应该添加到类路径: -java -classpath C:\ foo.jar; C:\ api \ Test1 ;. org.junit.runner.JUnitCore Tester.GUI.api.Test1 – laura 2010-02-24 23:59:28

+1

如果您可以回答以下两个问题,我可以给出更准确的答案:1.您的'.bat'文件在哪个目录中运行? 2.什么目录是'Test1.class'? 如果你不知道'Test1.class'的位置,那么如果你能告诉我'Test1.java'在哪里以及你如何编译'Test1.java',我仍然可以提供帮助。例如,您是否使用Eclipse之类的IDE编译'Test1',或者您是否在批处理文件或命令提示符中使用'javac'命令? – 2010-02-25 14:34:32