You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by thometal <tt...@gmail.com> on 2015/03/30 15:43:22 UTC
karaf 4.0.0.M2 testing with testng leads to an error
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.
Re: karaf 4.0.0.M2 testing with testng leads to an error
Posted by Andreas Kuhtz <an...@gmail.com>.
Hi,
First: I was wrong :-( My working testNG test was not with karaf.
However I've pushed a sample project with JUnit and TestNG tests with karaf
(https://github.com/akuhtz/pax-exam-karaf-test). While the JUnit tests
passes (as expected), the testNG test fails but no longer with the same
exception as in the first post by thometal.
After adding the testNG bundle in the options (
CoreOptions.mavenBundle("org.testng", "testng", "6.8.17") ) I got a step
further but ran into the exception that I couldn't work around.
[org.ops4j.pax.exam.testng.listener.PaxExam] : Exception
java.lang.RuntimeException: java.lang.ArrayStoreException:
sun.reflect.annotation.TypeNotPresentExceptionProxy
at
org.ops4j.pax.exam.rbc.client.intern.RemoteBundleContextClientImpl$1.invoke(RemoteBundleContextClientImpl.java:105)
at com.sun.proxy.$Proxy9.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
org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:212)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:689)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:882)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1189)
at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
at
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at
org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:115)
at
org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:129)
at
org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:113)
at
org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:111)
at
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: 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.getAnnotations(Class.java:3197)
at
org.junit.runner.Description.createSuiteDescription(Description.java:124)
at
org.junit.internal.runners.ErrorReportingRunner.getDescription(ErrorReportingRunner.java:28)
at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
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:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
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:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 10.392 sec
<<< FAILURE! - in ch.sample.paxexam.testng.SampleTest
Regards,
Andreas
2015-03-31 9:52 GMT+02:00 Achim Nierbeck <bc...@googlemail.com>:
> cool thanks
>
> Achim
>
> 2015-03-31 9:50 GMT+02:00 Andreas Kuhtz <an...@gmail.com>:
>
>> 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 <tt...@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.
>>>
>>
>>
>
>
> --
>
> Apache Member
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
> Project Lead
> blog <http://notizblog.nierbeck.de/>
> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>
> Software Architect / Project Manager / Scrum Master
>
>
Re: karaf 4.0.0.M2 testing with testng leads to an error
Posted by Achim Nierbeck <bc...@googlemail.com>.
cool thanks
Achim
2015-03-31 9:50 GMT+02:00 Andreas Kuhtz <an...@gmail.com>:
> 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 <tt...@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.
>>
>
>
--
Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
Software Architect / Project Manager / Scrum Master
Re: karaf 4.0.0.M2 testing with testng leads to an error
Posted by Andreas Kuhtz <an...@gmail.com>.
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 <tt...@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.
>
Re: karaf 4.0.0.M2 testing with testng leads to an error
Posted by Andreas Kuhtz <an...@gmail.com>.
Hi,
I did some more testing and added a new pax-exam-invoker-testng module to
my fork of pax-exam (https://github.com/akuhtz/org.ops4j.pax.exam2.git -->
branch invoker-testng) with and some changes to KarafTestContainer to use
TestNG instead of JUnit but I didn't succeed and I'm even not sure if it is
possible at all the way I tried to solve it. (The whole part of dependency
injection is still missing ...)
My test always terminates with an exception when the testng annotations are
scanned and I haven't found a way to solve this problem ... Maybe Harald or
someone else has more insight into the magic of testng.
Regards,
Andreas
2015-04-02 10:14 GMT+02:00 thometal <tt...@gmail.com>:
> Ok thx for testing.
>
> I created a Ticket in pax exam:
>
> https://ops4j1.jira.com/browse/PAXEXAM-698
>
>
>
> --
> View this message in context:
> http://karaf.922171.n3.nabble.com/karaf-4-0-0-M2-testing-with-testng-leads-to-an-error-tp4039383p4039425.html
> Sent from the Karaf - User mailing list archive at Nabble.com.
>
Re: karaf 4.0.0.M2 testing with testng leads to an error
Posted by thometal <tt...@gmail.com>.
Ok thx for testing.
I created a Ticket in pax exam:
https://ops4j1.jira.com/browse/PAXEXAM-698
--
View this message in context: http://karaf.922171.n3.nabble.com/karaf-4-0-0-M2-testing-with-testng-leads-to-an-error-tp4039383p4039425.html
Sent from the Karaf - User mailing list archive at Nabble.com.
Re: karaf 4.0.0.M2 testing with testng leads to an error
Posted by Achim Nierbeck <bc...@googlemail.com>.
Hi,
my advice? Use JUnit it's proven to work. This is the quick answer :-)
Waht's wrong, don't know. Might be an issue of Pax Exam in conjunction with
testNG.
For that you'll need to question on the Ops4j usesrs list. Maybe it's a
bug, or already a known issue.
If it's an unknown issue please open a Jira Issue at [1].
regards, Achim
[1] - https://ops4j1.jira.com/projects/PAXEXAM
2015-03-30 15:43 GMT+02:00 thometal <tt...@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.
>
--
Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
Software Architect / Project Manager / Scrum Master