Junit4 + Spring 2.5 : Asserts throw “NoClassDefFoundError”

Junit4 + Spring 2.5 : Asserts throw “NoClassDefFoundError”

I've been coding tests in Junit4 with Spring, and I got this funny behavior:

If my tests are passing like this, everything is fine:

@Test public void truthTest(){  	assertTrue(true); //Ok  } 

But, if my test fails:

@Test public void truthTest(){  	assertTrue(false); //ERROR  } 

Then instead of a test failure I receive an ugly and cryptic stack trace, This is it:


Sorry for this ugly dump, but its the only data I've got to explain the problem (I "pastied" it for readability)

I'm really puzzled, has anyone encountered this kind of problem before? Thanks in advance!

Spring not finding Hibernate mappings file


Spring - When should I consider loading another context in same JVM?

Java spring database application won't quit reference to org.enhydra.jdbc.pool.PoolKeeper is still active why?


I had the same problem when I wrote my Spring JUnit tests.

Like a lot of posts available online, there are only two alternatives. 1) Stay up to date with the Spring version and use the latest version of JUnit or 2) Leave your current Spring version and use JUnit version 4.4 or less.. I chose the option # 2 where we left our Spring version at 2.5 and downloaded JUnit 4.4.

Everything worked fine after that.

. Also another point to be aware of is that if your project i.e., the project A you are writing your tests in has a dependency on another project B that has another version of Spring, you would get a similar error too.

I learnt it the hard way.. -Prashanth.


What if you imported AssumptionViolatedException into your test class?. It looks like it can't find the class to throw the appropriate exception..

70 out of 100 based on 70 user ratings 370 reviews