I received a comment on one of my previous posts asking how to run a test class using SpringJUnit4ClassRunner
from normal application code (i.e. within a main
method). I'll admit, I didn't know how to do this, but my interest was piqued.
I ran off to an existing test class I had laying around. Within a few minutes, I had a working prototype:
public static void main(final String[] args) throws Exception { final Class testClass = Class.forName(args[0]); final Runner r = new SpringJUnit4ClassRunner(testClass); final RunNotifier n = new RunNotifier(); final RunListener l = new RunListener() { @Override public void testRunStarted(Description d) { System.out.println("Tests are starting"); } @Override public void testIgnored(Description d) { System.out.println("Test is ignored"); } @Override public void testStarted(Description d) { System.out.println("Starting a test"); } @Override public void testFailure(Failure f) { System.out.println("WOAH! Test failed"); } @Override public void testAssumptionFailure(Failure f) { System.out.println("WOAH! Assertion failed"); } @Override public void testFinished(Description d) { System.out.println("Test has finished"); } @Override public void testRunFinished(Result r) { System.out.println("Tests have finished"); } } n.addListener(l); r.run(n); }
Comments