JUnit:4.8.1"找不到类"

Pat*_*ick 4 java junit4

好吧,我就像jUnit的其他新手一样,并且很难尝试让它工作.我搜索过论坛但提供了答案; 我只是没有得到.如果那里有人可以伸出援助之手我会非常感激.

让我提供基础知识:操作系统:mac OS X.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"
Run Code Online (Sandbox Code Playgroud)

我可以从java文件编译测试类,但是当我尝试运行测试时

java org.junit.runner.JUnitCore MyTest.class 
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

JUnit version 4.8.1
Could not find class: MyTest.class

Time: 0.001

OK (0 tests)
Run Code Online (Sandbox Code Playgroud)

现在我已经MyTest.class在我的文件系统中的某个位置的目录中,我尝试将源文件夹移动到junit文件夹和junit/junit4.8.1文件夹以及相同的结果.我甚至无法运行junit附带的测试.

Jon*_*erg 8

是否MyTest真的在默认的包?如果没有,那么您需要提供整个包限定名称.换句话说,如果MyClass有一个声明

package com.myself;
Run Code Online (Sandbox Code Playgroud)

并且生活在

/myproject/src/com/myself/MyClass.java
Run Code Online (Sandbox Code Playgroud)

你编译成了

/myproject/classes
Run Code Online (Sandbox Code Playgroud)

然后/myproject/classes必须在你CLASSPATH身上,你必须

java org.junit.runner.JUnitCore com.myself.MyTest
Run Code Online (Sandbox Code Playgroud)

想想看,我现在看到你附加.class了类名,所以即使它在默认包中,你也应该说

java org.junit.runner.JUnitCore MyTest
Run Code Online (Sandbox Code Playgroud)