At work, we had trouble figuring out how to run JUnit tests outside of the IDE, in this case, IntellJ. After some fumbling around, here’s how we got it to work:

Step 1: Compile the Test class

Navigate to the src/ folder where all the Java classes are, then run javac to compile the test file.

% javac -cp .:"/Applications/IntelliJ IDEA 13 CE.app/Contents/lib/*" SetTest.java

Notice a couple of things.

Look at the flag passed in -cp (classpath). We are setting the current directory (thats the “.”) and also all the libraries needed (that’s the “*”).

Once that’s done, you will get a bunch of *.class files generated. If your test makes use of the class you want to test, then that will be compiled too.

Step 2: Run the Test

% java -cp .:"/Applications/IntelliJ IDEA 13 CE.app/Contents/lib/*" org.junit.runner.JUnitCore SetTest
JUnit version 4.11
.
Time: 0.007

OK (1 test)

This looks almost the same, except that we need to specify the JUnit test runner (org.junit.runner.JUnitCore) and supply the class we are test (without the .java extenstion).

That’s it! Hopefully this helped you save some time!

Thanks for reading!