java - InitilizationError when JunitTest with Maven -
i'm trying junit-test's maven3 initilizationerror(some testclass here) when executing test have junit-annotations (all other tests run fine). when run tests in eclipse fine. running tests maven break. testproject packaged eclipse-plugin. use maven-osgi-test-plugin.
my testclass annotated by:
@runwith(springjunit4classrunner.class) @contextconfiguration(locations="classpath:applicationcontext.xml") @transactionconfiguration public class artifactmanagertest extends abstracttransactionaljunit4springcontexttests {...
for every testclass annotated @contextconfiguration there classname-test.xml file. in configuration-file import applicationcontext-test.xml "classpath:"
my pom.xml of test-plugin looks like:
<groupid>foo.bar</groupid> <artifactid>company.xyz</artifactid> <version>1.0.0-snapshot</version> <packaging>eclipse-test-plugin</packaging> <build> <plugins> <plugin> <groupid>org.sonatype.tycho</groupid> <artifactid>maven-osgi-test-plugin</artifactid> <configuration> <useuiharness>true</useuiharness> <testsuite>company.xyz.test</testsuite> <testclass>company.xyz.alltests</testclass> <argline>-xmx512m</argline> <bundlestartlevel> <bundle> <id>org.eclipse.equinox.ds</id> <level>1</level> <autostart>true</autostart> </bundle> </bundlestartlevel> </configuration> <inherited>true</inherited> </plugin> </plugins> </build>
the failure output follows:
initializationerror(company.xyz.artifactmanagertest) time elapsed: 0 sec (parentrunner.java:66) @ org.junit.runners.blockjunit4classrunner.(blockjunit4classrunner.java:59) @ org.springframework.test.context.junit4.springjunit4classrunner.(springjunit4classrunner.java:104) @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27) @ java.lang.reflect.constructor.newinstance(constructor.java:513) @ org.junit.internal.builders.annotatedbuilder.buildrunner(annotatedbuilder.java:31) @ org.junit.internal.builders.annotatedbuilder.runnerforclass(annotatedbuilder.java:24) @ org.junit.runners.model.runnerbuilder.saferunnerforclass(runnerbuilder.java:57) @ org.junit.internal.builders.alldefaultpossibilitiesbuilder.runnerforclass(alldefaultpossibilitiesbuilder.java :29) @ org.junit.runners.model.runnerbuilder.saferunnerforclass(runnerbuilder.java:57) @ org.junit.runners.model.runnerbuilder.runners(runnerbuilder.java:93) @ org.junit.runners.model.runnerbuilder.runners(runnerbuilder.java:84) @ org.junit.runners.suite.(suite.java:101) @ org.junit.runners.suite.(suite.java:67) @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27) @ java.lang.reflect.constructor.newinstance(constructor.java:513) @ org.junit.internal.builders.annotatedbuilder.buildrunner(annotatedbuilder.java:35) @ org.junit.internal.builders.annotatedbuilder.runnerforclass(annotatedbuilder.java:24) @ org.junit.runners.model.runnerbuilder.saferunnerforclass(runnerbuilder.java:57) @ org.junit.internal.builders.alldefaultpossibilitiesbuilder.runnerforclass(alldefaultpossibilitiesbuilder.java :29) @ org.junit.runners.model.runnerbuilder.saferunnerforclass(runnerbuilder.java:57) @ org.junit.runners.model.runnerbuilder.runners(runnerbuilder.java:93) @ org.junit.runners.model.runnerbuilder.runners(runnerbuilder.java:84) @ org.junit.runners.suite.(suite.java:101) @ org.junit.runners.suite.(suite.java:67) @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27) @ java.lang.reflect.constructor.newinstance(constructor.java:513) @ org.junit.internal.builders.annotatedbuilder.buildrunner(annotatedbuilder.java:35) @ org.junit.internal.builders.annotatedbuilder.runnerforclass(annotatedbuilder.java:24) @ org.junit.runners.model.runnerbuilder.saferunnerforclass(runnerbuilder.java:57) @ org.junit.internal.builders.alldefaultpossibilitiesbuilder.runnerforclass(alldefaultpossibilitiesbuilder.java :29) @ org.junit.runners.model.runnerbuilder.saferunnerforclass(runnerbuilder.java:57) @ org.junit.internal.requests.classrequest.getrunner(classrequest.java:24) @ org.apache.maven.surefire.junit4.junit4testset.(junit4testset.java:45) @ org.apache.maven.surefire.junit4.junit4directorytestsuite.createtestset(junit4directorytestsuite.java:56) @ org.apache.maven.surefire.suite.abstractdirectorytestsuite.locatetestsets(abstractdirectorytestsuite.java:96) @ org.apache.maven.surefire.surefire.createsuitefromdefinition(surefire.java:209) @ org.apache.maven.surefire.surefire.run(surefire.java:156) @ org.codehaus.tycho.surefire.osgibooter.osgisurefirebooter.run(osgisurefirebooter.java:75) @ org.codehaus.tycho.surefire.osgibooter.abstractuitestapplication$1.run(abstractuitestapplication.java:25) @ org.eclipse.swt.widgets.runnablelock.run(runnablelock.java:35) @ org.eclipse.swt.widgets.synchronizer.runasyncmessages(synchronizer.java:134) @ org.eclipse.swt.widgets.display.runasyncmessages(display.java:4041) @ org.eclipse.swt.widgets.display.readanddispatch(display.java:3660) @ org.eclipse.ui.internal.workbench.runeventloop(workbench.java:2640) @ org.eclipse.ui.internal.workbench.runui(workbench.java:2604) @ org.eclipse.ui.internal.workbench.access$4(workbench.java:2438) @ org.eclipse.ui.internal.workbench$7.run(workbench.java:671) @ org.eclipse.core.databinding.observable.realm.runwithdefault(realm.java:332) @ org.eclipse.ui.internal.workbench.createandrunworkbench(workbench.java:664) @ org.eclipse.ui.platformui.createandrunworkbench(platformui.java:149) @ org.eclipse.ui.internal.ide.application.ideapplication.start(ideapplication.java:115) @ org.codehaus.tycho.surefire.osgibooter.uitestapplication.runapplication(uitestapplication.java:21) @ org.codehaus.tycho.surefire.osgibooter.abstractuitestapplication.run(abstractuitestapplication.java:109) @ org.codehaus.tycho.surefire.osgibooter.uitestapplication.start(uitestapplication.java:27) @ org.eclipse.equinox.internal.app.eclipseapphandle.run(eclipseapphandle.java:196) @ org.eclipse.core.runtime.internal.adaptor.eclipseapplauncher.runapplication(eclipseapplauncher.java:110) @ org.eclipse.core.runtime.internal.adaptor.eclipseapplauncher.start(eclipseapplauncher.java:79) @ org.eclipse.core.runtime.adaptor.eclipsestarter.run(eclipsestarter.java:369) @ org.eclipse.core.runtime.adaptor.eclipsestarter.run(eclipsestarter.java:179) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) @ java.lang.reflect.method.invoke(method.java:597) @ org.eclipse.equinox.launcher.main.invokeframework(main.java:619) @ org.eclipse.equinox.launcher.main.basicrun(main.java:574) @ org.eclipse.equinox.launcher.main.run(main.java:1407) @ org.eclipse.equinox.launcher.main.main(main.java:1383)
in surefire-reports see java.class.path set local maven repository 'org.eclipse.equinox.launcher-1.1.0.v20100507.jar'
it looks classpath isn't set correct, maven can't find applicationcontext.xml
? how correct?
please make sure methods of @beforeclass
, @afterclass
"public static void" , no arguments in test case class artifactmanagertest.
edit: initializationerror
thrown when validate @beforeclass
, @afterclass
fails, @beforeclass
isn't executed.
if possible, use following code failure info:
result r=new junitcore().run(artifactmanagertest.class); for(failure f:r.getfailures()){ system.out.println(f); }
Comments
Post a Comment