2010-03-18 41 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