Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JUnit: 4.8.1 "Could not find class"

Tags:

java

junit4

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.

like image 343
Patrick Avatar asked Dec 29 '22 22:12

Patrick


2 Answers

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
like image 145
Jonathan Feinberg Avatar answered Dec 31 '22 15:12

Jonathan Feinberg


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

like image 34
ezmia Avatar answered Dec 31 '22 15:12

ezmia