It is interesting you bring this up, as I was just this week trying to get pax
exam running against my osgi bundle with felix. My test doesn’t seem to find
the service, however:
testGetJSON:com.metlife.gs.MetLifeCommonTest.testGetJSON:NativeContainer:org.apache.felix.framework.FrameworkFactory@433d4497(com.metlife.gs.MetLifeCommonTest)
Time elapsed: 11.443 sec <<< ERROR!
org.ops4j.pax.swissbox.framework.ServiceLookupException: gave up waiting for
service com.metlife.gs.api.GSvPMetLifeCommonBaseTOInterface
at
org.ops4j.pax.swissbox.framework.ServiceLookup.getService(ServiceLookup.java:199)
at
org.ops4j.pax.swissbox.framework.ServiceLookup.getService(ServiceLookup.java:136)
at
org.ops4j.pax.exam.inject.internal.ServiceInjector.injectField(ServiceInjector.java:86)
at
org.ops4j.pax.exam.inject.internal.ServiceInjector.injectDeclaredFields(ServiceInjector.java:70)
at
org.ops4j.pax.exam.inject.internal.ServiceInjector.injectFields(ServiceInjector.java:59)
at
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.createTest(ContainerTestRunner.java:62)
at
org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:227)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:224)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
at
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:70)
at
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:37)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
if I install this service/bundle in Felix standalone on another box, it appears
to be at least active:
g! lb
START LEVEL 1
ID|State |Level|Name
0|Active | 0|System Bundle (4.6.0)
2|Active | 1|Apache Felix Bundle Repository (2.0.2)
3|Active | 1|Apache Felix Gogo Command (0.14.0)
4|Active | 1|Apache Felix Gogo Runtime (0.12.1)
5|Active | 1|Apache Felix Gogo Shell (0.10.0)
8|Active | 1|Apache Felix Declarative Services (1.8.0)
13|Active | 1|GSvP MetLife-Common (1.0.0)
15|Active |
1|file:/home/phil/Downloads/felix-framework-4.6.0/bundle/json-1.5.jar (0.0.0)
16|Active | 1|slf4j-api (1.7.2)
17|Active | 1|Logback Classic Module (1.0.9)
18|Active | 1|Logback Core Module (1.0.9)
22|Active |
1|file:/home/phil/Downloads/felix-framework-4.6.0/bundle/org.apache.felix.scr.annotations-1.9.10.jar
(0.0.0)
23|Installed | 1|Apache Felix iPOJO OSGi Junit Runner (1.0.0)
I will admit I am brand spanking new to this, so it is entirely possible my
setup is bad.
Phil Helm | Principal Software Engineer | Global Employee Benefits
5411 Page Road, 4th Floor, C4145 | Durham, NC 27703
Office: 919.907.4118 | E-mail: [email protected]
From: [email protected] [mailto:[email protected]] On
Behalf Of Tim Ward
Sent: Wednesday, February 11, 2015 10:59 AM
To: OSGi Developer Mail List
Subject: Re: [osgi-dev] Integration Testing framework recommendation
Hi Frank,
If you're already a bndtools user then the OSGi Junit testing built into bnd
would seem to be your best bet. It doesn't involve an extra tool, integrates
with your existing IDE, and is used by a lot of people.
Regards,
Tim
Sent from my iPhone
On 11 Feb 2015, at 15:38, Frank Langel
<[email protected]<mailto:[email protected]>> wrote:
Hi,
There are quite a few helper libraries/frameworks for executing integration
tests
* Pax Exam https://ops4j1.jira.com/wiki/display/paxexam/Pax+Exam
* Ipojo
http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/junit4osgi.html
* KnowHowLabs
http://blog.knowhowlab.org/2013/03/osgi-integration-tests-with-bndtools.html
* Amdatu Testing
https://amdatu.atlassian.net/wiki/display/AMDATUDEV/Amdatu+Testing
Based on the plethora of options, I would appreciate some orientation. We are
heavily Felix and BndTools based. What are other people using, what are
people’s experience/lessons learned.
Thanks a lot in advance
Frank
_______________________________________________
OSGi Developer Mail List
[email protected]<mailto:[email protected]>
https://mail.osgi.org/mailman/listinfo/osgi-dev
The information contained in this message may be CONFIDENTIAL and is for the
intended addressee only. Any unauthorized use, dissemination of the
information, or copying of this message is prohibited. If you are not the
intended addressee, please notify the sender immediately and delete this
message.
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev