Hi, I've TestNG with pax-exam running with karaf-3.0.3. The main difference is that I use
<dependency> <groupId>org.ops4j.pax.exam</groupId> <artifactId>pax-exam-container-native</artifactId> <version>${version.pax-exam}</version> <scope>test</scope> </dependency> instead of pax-exam-container-karaf . I'll try to prepare a sample on github to share. Regards, Andreas 2015-03-30 15:43 GMT+02:00 thometal <tthome...@gmail.com>: > Hi, > > iam try to use karaf 4.0.0.M2 testing with testng. > > here my pom: > > <dependency> > <groupId>org.ops4j.pax.exam</groupId> > <artifactId>pax-exam-container-karaf</artifactId> > <version>4.4.0</version> > </dependency> > > <dependency> > <groupId>org.ops4j.pax.exam</groupId> > <artifactId>pax-exam-testng</artifactId> > <version>4.4.0</version> > > </dependency> > > <dependency> > <groupId>com.ipoque.nrs</groupId> > <artifactId>run</artifactId> > <version>${project.version}</version> > <type>zip</type> > > </dependency> > > <dependency> > <groupId>javax.transaction</groupId> > <artifactId>jta</artifactId> > <version>1.1</version> > </dependency> > > <dependency> > <groupId>org.ops4j.pax.exam</groupId> > <artifactId>pax-exam-link-mvn</artifactId> > <version>4.4.0</version> > </dependency> > > <dependency> > <groupId>org.ops4j.pax.url</groupId> > <artifactId>pax-url-aether</artifactId> > <version>1.6.0</version> > </dependency> > > <dependency> > <groupId>org.testng</groupId> > <artifactId>testng</artifactId> > <version>6.3.1</version> > </dependency> > > this is my test: > > import static org.ops4j.pax.exam.CoreOptions.maven; > import static > > org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration; > import static org.testng.Assert.assertTrue; > > > import org.ops4j.pax.exam.Configuration; > import org.ops4j.pax.exam.Option; > > import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy; > import org.ops4j.pax.exam.spi.reactors.PerMethod; > import org.ops4j.pax.exam.testng.listener.PaxExam; > import org.testng.annotations.Listeners; > import org.testng.annotations.Test; > > > @Listeners(PaxExam.class) > @ExamReactorStrategy(PerMethod.class) > public class SampleTest { > > @Configuration > public Option[] config() { > return new Option[]{ karafDistributionConfiguration().frameworkUrl( > > > maven().groupId("org.apache.karaf").artifactId("apache-karaf").type("zip").version("4.0.0.M2")) > .karafVersion("4.0.0.M2").name("Apache > Karaf").useDeployFolder(false)}; > } > > > > @Test > public void test() throws Exception { > assertTrue(true); > } > } > > and this is the error i get: > > 6567 [main] ERROR org.ops4j.pax.exam.testng.listener.PaxExam - Exception > java.lang.RuntimeException: org.ops4j.pax.exam.TestContainerException: > [initializationError(com.ipoque.nrs.itests.SampleTest): No runnable > methods] > at > > org.ops4j.pax.exam.rbc.client.intern.RemoteBundleContextClientImpl$1.invoke(RemoteBundleContextClientImpl.java:105) > at com.sun.proxy.$Proxy7.call(Unknown Source) > at > > org.ops4j.pax.exam.rbc.client.intern.RemoteBundleContextClientImpl.call(RemoteBundleContextClientImpl.java:268) > at > > org.ops4j.pax.exam.container.remote.RBCRemoteTarget.call(RBCRemoteTarget.java:60) > at > > org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.call(KarafTestContainer.java:575) > at > > org.ops4j.pax.exam.spi.reactors.AllConfinedStagedReactor.invoke(AllConfinedStagedReactor.java:84) > at > org.ops4j.pax.exam.testng.listener.PaxExam.runByDriver(PaxExam.java:458) > at org.ops4j.pax.exam.testng.listener.PaxExam.run(PaxExam.java:308) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > > org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:181) > at org.testng.internal.Invoker.invokeMethod(Invoker.java:684) > at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:883) > at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1208) > at > > org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) > at > org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) > at org.testng.TestRunner.privateRun(TestRunner.java:758) > at org.testng.TestRunner.run(TestRunner.java:613) > at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) > at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) > at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) > at org.testng.SuiteRunner.run(SuiteRunner.java:240) > at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) > at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:87) > at org.testng.TestNG.runSuitesSequentially(TestNG.java:1137) > at org.testng.TestNG.runSuitesLocally(TestNG.java:1062) > at org.testng.TestNG.run(TestNG.java:974) > at > org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:77) > at > > org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:110) > at > > org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:106) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > > org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) > at > > org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) > at > > org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) > at > > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) > Caused by: org.ops4j.pax.exam.TestContainerException: > [initializationError(com.ipoque.nrs.itests.SampleTest): No runnable > methods] > at > > org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.createTestContainerException(JUnitProbeInvoker.java:138) > at > > org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:127) > at > > org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:97) > at > > org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:73) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > > org.ops4j.pax.exam.rbc.internal.RemoteBundleContextImpl.remoteCall(RemoteBundleContextImpl.java:80) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) > at sun.rmi.transport.Transport$1.run(Transport.java:200) > at sun.rmi.transport.Transport$1.run(Transport.java:197) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:196) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) > at > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) > at > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$241(TCPTransport.java:683) > at > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$8/387574731.run(Unknown > Source) > at java.security.AccessController.doPrivileged(Native Method) > at > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.Exception: No runnable methods > at > > org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191) > at > > org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) > at org.junit.runners.ParentRunner.validate(ParentRunner.java:416) > at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) > at > > org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) > at > > org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.<init>(ContainerTestRunner.java:54) > at > > org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunnerBuilder.runnerForClass(ContainerTestRunnerBuilder.java:48) > at > > org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) > at > > org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunnerClassRequest.getRunner(ContainerTestRunnerClassRequest.java:61) > at > org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36) > at org.junit.runner.JUnitCore.run(JUnitCore.java:115) > at > > org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:124) > ... 25 more > Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 6.82 sec > <<< > FAILURE! > test(com.ipoque.nrs.itests.SampleTest) Time elapsed: 6.543 sec <<< > FAILURE! > java.lang.Exception: No runnable methods > at > > org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191) > at > > org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) > at org.junit.runners.ParentRunner.validate(ParentRunner.java:416) > at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) > at > > org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) > at > > org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.<init>(ContainerTestRunner.java:54) > at > > org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunnerBuilder.runnerForClass(ContainerTestRunnerBuilder.java:48) > at > > org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) > at > > org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunnerClassRequest.getRunner(ContainerTestRunnerClassRequest.java:61) > at > org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36) > at org.junit.runner.JUnitCore.run(JUnitCore.java:115) > at > > org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:124) > at > > org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:97) > at > > org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:73) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > > org.ops4j.pax.exam.rbc.internal.RemoteBundleContextImpl.remoteCall(RemoteBundleContextImpl.java:80) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) > at sun.rmi.transport.Transport$1.run(Transport.java:200) > at sun.rmi.transport.Transport$1.run(Transport.java:197) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:196) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) > at > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) > at > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$241(TCPTransport.java:683) > at > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$8/387574731.run(Unknown > Source) > at java.security.AccessController.doPrivileged(Native Method) > at > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > > whats wrong? > > Thank you in advance > > > > -- > View this message in context: > http://karaf.922171.n3.nabble.com/karaf-4-0-0-M2-testing-with-testng-leads-to-an-error-tp4039383.html > Sent from the Karaf - User mailing list archive at Nabble.com. >