lundi 23 février 2015

Spring @ContextConfiguration fails to load test context from different project

I am writing Integration tests from my repository project that needs to load the IT test context of my infra project, but for some reason it fails on some weird exception



java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:673) at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:480) at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:306) at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:241) at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:88) at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:70) at java.lang.Class.initAnnotationsIfNecessary(Class.java:3217) at java.lang.Class.initAnnotationsIfNecessary(Class.java:3224) at java.lang.Class.initAnnotationsIfNecessary(Class.java:3224) at java.lang.Class.getAnnotation(Class.java:3176) at org.junit.internal.builders.IgnoredBuilder.runnerForClass(IgnoredBuilder.java:10) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:31) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.(JUnit4TestReference.java:33) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestMethodReference.(JUnit4TestMethodReference.java:25) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:54) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)



The same Configuration that i want to add works fine on the Infra project.


Why cant I import that configuration elsewhere?


here is the context configurations:




@ContextConfiguration( classes = {InfraTestsContextConfiguration.class, RepositoryITContext.class, StandaloneDataSourceConfig.class, TransactionManagerConfig.class, LiquibaseConfig.class},
loader = AnnotationConfigContextLoader.class )


And the InfraTestsContextConfiguration which i want to load is:




@Configuration
@ComponentScan(basePackages = {"com.X.infra"},
excludeFilters = {@ComponentScan.Filter(pattern = "com.X.infra.spring.InfraContextConfiguration", type = FilterType.REGEX)})


Trying to be as clear as i can here because i don't really get this myself


Thanks


Aucun commentaire:

Enregistrer un commentaire