Erro ao usar @RunWith(SpringJUnit4ClassRunner.class)

2 respostas
vinidourado87

e ai galera…

estou tentando testar minhas classes em um projeto Spring mas toda vez que uso @RunWith(SpringJUnit4ClassRunner.class) dá o erro

java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.findAnnotationDeclaringClass(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
	at org.springframework.test.context.TestContext.retrieveContextLoaderClass(TestContext.java:166)
	at org.springframework.test.context.TestContext.<init>(TestContext.java:121)
	at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:117)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTestContextManager(SpringJUnit4ClassRunner.java:120)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:108)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:32)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:41)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:31)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

alguém já passou por isso?

vlw

2 Respostas

vinidourado87

alguém?

vinidourado87

se alguem passar por isso…

este acontece devido a a versao do Spring-core. Tente utilizar a versao mais atual.

Eu fiz isso e o erro continuou, em uma tentativa desesperada eu rodei o sistema num eclipse básico, ao invés de usar o STS, ferramenta padrão aqui da empresa e RODOU!!

Conclusão: de alguma forma, quando vc roda um sistema Spring dentro do STS (SpringToolSuite), ele utiliza a versao dele do spring para rodar a aplicação.

Criado 29 de março de 2011
Ultima resposta 30 de mar. de 2011
Respostas 2
Participantes 1