takimafr / spring-dbunit

DBUnit support for Spring
Apache License 2.0
40 stars 19 forks source link

Incompatible classchange error with spring 4.x #27

Closed davidkarlsen closed 10 years ago

davidkarlsen commented 10 years ago

Starting from RC1 of spring 4 I get due to https://jira.springsource.org/browse/SPR-7692 :

java.lang.IncompatibleClassChangeError: org/springframework/test/context/TestContext.getApplicationContext()Lorg/springframework/context/ApplicationContext; at com.excilys.ebi.spring.dbunit.test.DataSetTestExecutionListener.afterTestMethod(DataSetTestExecutionListener.java:61) at org.springframework.test.context.TestContextManager.afterTestMethod(TestContextManager.java:411) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:91) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:230) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:87) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:173) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

slandelle commented 10 years ago

Hi David,

Sadly, I no longer have time to maintain this project on my own. I'd gladly accept pull requests though.

Regards,

Stéphane

davidkarlsen commented 10 years ago

I think we will just have to wait for the official release - I have tested with RC1 and it works well, but is not backwards compatible due to: https://jira.springsource.org/browse/SPR-7692

In the mean time I'll do misc. code cleanups and create separate pull requests for them.

slandelle commented 10 years ago

Agree. Maybe we could have modules, one for Spring 3 and the other one for Spring 4.

davidkarlsen commented 10 years ago

Not easy to do (at least when using maven) without having to duplicate the code.