javagui测试

javagui测试,java,junit4,Java,Junit4,在java测试中,我有: package Tester.GUI.api public class Test1{-----} 在.bat中: <path to java> -classpath<all jar defined in the classpath separated by ";"> org.junit.runner.JUnitCore Tester.GUI.api.Test1 我已经验证了jar文件,输入错误,但没有找到原因 有人可以帮忙吗?类路径选项需要获

在java测试中,我有:

package Tester.GUI.api
public class Test1{-----}
在.bat中:

<path to java> -classpath<all jar defined in the classpath separated by ";"> org.junit.runner.JUnitCore Tester.GUI.api.Test1
我已经验证了jar文件,输入错误,但没有找到原因 有人可以帮忙吗?

类路径选项需要获取一组目录和/或jar文件。目前缺少这些,因此主类JUnitCore用作类路径,Test1用作主类。我猜您希望JUnitCore作为主类,Test1作为参数

尝试这样的方法,替换您用于jar-file1、jar-file2的jar的实际名称:

java -classpath <jar-file1.jar>;<jar-file2.jar> org.junit.runner.JUnitCore Tester.GUI.api.Test1
编辑:
假设正确指定了jar文件,则错误消息指示Test1类不在类路径上。如果您使用的是IDE,则需要查找用于编译的输出目录,例如,在Eclipse中,默认情况下是/bin。在这个目录中,您可以找到structure Tester/GUI/api的其他目录。名为Test1.class的文件将位于api目录中。这个输出目录需要添加到类路径中,即Tester/GUI/api结构上方的目录。

它表示找不到的类是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,那么在另一个名为bar的目录中的名为baz的目录中应该有一个名为Foo.class的文件。如果我想在我的类路径中包含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并运行


我没有提到jar文件,因为我有很多jar,它已经在-classpath中指定了,我应该在src的.classpath文件中添加一些东西吗?添加java测试类名?如果您的系统已经设置为在classpath环境变量中包含所有需要的jar文件,那么您也可以完全省略-classpath选项。在这种情况下,您的命令应该是java org.junit.runner.JUnitCore Tester.GUI.api.Test1。@laura:.classpath您使用的是Eclipse还是其他IDE?将不受.bat文件的影响。听起来很像在类路径上找不到Test1类@乔的建议应该有助于你追踪它,例如,添加;如果您正在使用默认输出文件夹bin的Eclipse,那么将bin/添加到类路径列表中。基本上,您希望添加测试类要编译到的文件夹。您提出了一个好的观点:重要的是编译的.class文件在哪里,而不是.java源文件在哪里。如果像.classpath所提到的那样使用IDE,那么默认情况下它们是不同的。我已经相应地编辑了我的答案:-我不明白:我应该添加到类路径:-java-classpath C:\foo.jar;C:\api\Test1;。如果您能回答以下两个问题,我可以给出更精确的答案:1。在哪个目录下运行.bat文件?2.Test1.class在哪个目录中?如果您不知道Test1.class在哪里,那么如果您能告诉我Test1.java在哪里以及如何编译Test1.java,我仍然可以提供帮助。例如,您是使用Eclipse之类的IDE编译Test1,还是在批处理文件或命令提示符中使用javac命令?
java -classpath C:\Users\Joe\Code [main class goes here]
java -classpath . [main class goes here]