Arquillian is a Test Framework that allows you to run plain JUnit4 test cases from within an OSGi Framework. That the test is actually executed in the the OSGi Framework is transparent to your test case. There is no requirement to extend a specific base class. Your OSGi tests execute along side with all your other (non OSGi specific) test cases in Maven, Ant, or Eclipse.
Some time ago I was looking for ways to test bundles that are deployed to a remote instance of the JBoss OSGi Runtime. I wanted the solution to also work with an OSGi Framework that is bootstrapped from within a JUnit test case.
The basic problem is of course that you cannot access the artefacts that you deploy in a bundle directly from your test case, because they are loaded from different classloaders.
For this release, we extended the Arquillian Test Framework to provide support for these requirements.
Test cases SHOULD be plain JUnit4 POJOs
There SHOULD be no requirement to extend a specific test base class
There MUST be no requirement on a specific test runner (i.e. MUST run with Maven)
There SHOULD be a minimum test framework leakage into the test case
The test framework MUST support embedded and remote OSGi runtimes with no change required to the test
The same test case MUST be executable from outside as well as from within the OSGi Framework
There SHOULD be a pluggable communication layer from the test runner to the OSGi Framework
The test framework MUST NOT depend on OSGi Framework specific features
There MUST be no automated creation of test bundles required by the test framework