问题
Ok, I am like other and new to jUnit and having a difficult time trying to get it working. I have searched the forum but the answers provided; I am just not getting. If anyone out there could lend me a hand I would greatly appreciate it.
Let me provide the basics: OS: 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"
I can compile a test class from a java file, however when I try to then run the test
java org.junit.runner.JUnitCore MyTest.class
I get the following:
JUnit version 4.8.1
Could not find class: MyTest.class
Time: 0.001
OK (0 tests)
Now I have been in the directory with the MyTest.class
which is just somewhere in my file system, I tried moving the source folder to the junit
folder and the junit/junit4.8.1
folder and the same result. I cannot even run the tests that came with junit.
回答1:
Is MyTest
really in the default package? If not, then you need to give the entire package-qualified name. In other words, if MyClass has a statement
package com.myself;
and lives in
/myproject/src/com/myself/MyClass.java
and you compiled into
/myproject/classes
then /myproject/classes
must be on your CLASSPATH
and you must
java org.junit.runner.JUnitCore com.myself.MyTest
Come to think of it, I see now that you're appending .class
to the class name, so even if it's in the default package, you should just say
java org.junit.runner.JUnitCore MyTest
回答2:
Remove .class from MyTest.class i.e. java org.junit.runner.JUnitCore MyTest
回答3:
It is not having problems finding JUnit -- it is finding that okay. It can't find MyClass, so the directory of that class (given that it is packageless) needs to be in the classpath.
来源:https://stackoverflow.com/questions/2472408/junit-4-8-1-could-not-find-class