Skip to end of metadata
Go to start of metadata

In-Container Testing for OSGi

Icon

This space documents Pax Exam 2.x. It will no longer be updated.

There is a separate space for the current release line Pax Exam 3.x.

OSGi Testing with Pax Exam 2.x

  • Pax Exam lets you take control of the OSGi framework, the test framework (e.g. JUnit) and your system under test at the same time.
  • Pax Exam has a test driver and a test container. The driver launches the OSGi framework and the system under test. It builds on-the-fly bundles from your test cases and injects them into the container. The driver is a plain old Java application and does not itself require an OSGi framework.
  • The test container comes in multiple flavours: With the Pax Runner Container, the system under test runs in a separate Java virtual machine under remote control from the test driver. The Native Container launches an embedded OSGi framework in the test driver VM.
  • Test containers support different strategies for restarting or reusing the running OSGi framework for each test.
  • With Pax Exam's JUnit4TestRunner, you simply need to add some special annotations and a configuration method to a JUnit class to run your OSGi tests. Thanks to this runner, any JUnit integration (e.g. in Eclipse or Maven Surefire) works with Pax Exam out of the box.
  • Pax Exam itself is distributed as Maven artifacts and lets you provision Maven bundles to your OSGi framework directly from local or remote Maven repositories.
  • Pax Exam supports all major OSGi frameworks (Equinox, Felix, Knopflerfish) and lets you configure the combinations of framework vendors and versions for running your tests.
  • Pax Exam 2.x is the stable release line. The current release is Pax Exam 2.6.0.
  • Read more: Getting Started with OSGi Tests

Latest News

The Pax Exam team is happy to announce the first release candidate of OPS4J Pax Exam 3.

In addition to a number of dependency upgrades, bugfixes and usability improvements, there are two new Java EE test containers:

For more details on all changes, see the JIRA release notes below.

As usual, Pax Exam artifacts are available from Maven Central.

There are now two separate Wiki spaces for Pax Exam 2.x and Pax Exam 3.x.

Please test this release candidate and give us your feedback, either on the mailing list (ops4j@googlegroups.com) or via the issue tracker.

The 3.0.0 final release is planned for January 2013.

Changes since 3.0.0.M4

Loading

The Pax Exam team is happy to announce the milestone release of OPS4J Pax Exam 3.0.0.M4.

The highlights of this milestone release are:

  • The Tomcat test container now supports Spring injection into test cases as an alternative to CDI injection.
  • Pax Exam server mode is leveraged by a JUnit rule and by a Maven plugin.
  • It is now possible to run a single test method from a test class.
  • In Java EE mode, users can override the automatic WAR probe construction by explicit configuration.
  • The deprecated Pax Runner Test Container and all related deprecated configuration options have been removed.

For more details on all changes, see the JIRA release notes below.

As usual, Pax Exam artifacts are available from Maven Central.

Icon

All new features in this milestone release are preliminary and may change before the 3.0.0 release.

Pax Exam 3.0 is now feature complete, and this milestone is to be followed by the first release candidate 3.0.0.RC1, which will focus on code cleanup and documentation.

Please test this milestone release and give us your feedback, either on the mailing list (general@lists.ops4j.org) or via the issue tracker. This will help us pushing the 3.x release in the right direction.

Changes since 3.0.0.M3

Loading
Showing 20 out of 27 issues Refresh

Pax Exam 2.6.0 Released

The Pax Exam team is happy to announce the release of OPS4J Pax Exam 2.6.0.

This is a maintenance release with a number of dependency upgrades and minor improvements.

For more details on all changes, see the JIRA release notes below.

As usual, Pax Exam artifacts are available from Maven Central.

Changes since 2.5.0

Loading