This is a little experiment to see if we can run integration tests (in situ) within Felix as part of the maven build. I can happily say that this is easy to do and has been achieved. All that remains is mainstream integration into the existing maven-osgi-plugin. FAQ --- (1) What does this project contain? It contains a maven plugin with a single mojo in it. This plugin mojo is bound to the integration-test lifecycle phase of Maven. It runs Felix on the currently building module's artifact presuming it is a bundle. All dependent bundles are resolved and included in the autostart list of Felix. This project also contains a rip of the dictionaryservice example in the simple-service project. It's used to as the bundle to test. It contains a service and a default implementation of the english dictionary in it. The other project, simple-test, is the actual integration test bundle. It has a simple Activator which is the dictionary client. It will test that the dictionary service is working properly. (2) Why not add this mojo to the maven-osgi-plugin? We should be able to do this. There may be some issues if the exclusions of one plugin conflict with the same feild in the other. But we can change this if the need arises. The only thing users have to know how to do is how to make the mojo execute on the new integration-test phase. (3) What does the integration testing mechanism look like using this new Felix runner mojo? Developers will build their bundles as they normally do with unit tests etc. When they are ready to integration test their bundle a new Maven module is created for a test bundle. This test bundle will contain an Activator which will lookup the tested services and perform operations on them with checks to assert that these interfaces are behaving correctly. So in the end the runner mojo can be used to start and run a bundle in general and not just for integration testing. (4) What's in the future? o We need to integrate this mojo into the existing maven-osgi-plugin. o Write some example projects in the examples directory showing how to use this facility of the plugin. o Write some documentation on all this. o Brush off and improve the osgi archetype to utilize a profile for launching integration tests with the -Dintegration property switch. This can be added when a -Dintegration is provided on the command line when creating the project with the archetype. If this is not possible we can create two archetypes. One for a regular bundle and one for an integration testing bundle. The integration test bundle should have an execution for the mojo in the pom. (5)