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.
>

Reply via email to