Question

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.

Was it helpful?

Solution

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

OTHER TIPS

Remove .class from MyTest.class i.e. java org.junit.runner.JUnitCore MyTest

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top