Pax Exam

Skip to end of metadata
Go to start of metadata

Pax Exam is the tool to ease testing OSGi frameworks & applications.

When Pax Exam helps you

  • You want an easy to set up integration test framework for OSGi
  • You want to safely run your tests on a local OSGi framework
  • You want dozens of supported OSGi framework configurations
  • You want to execute and debug a chunk of code inside your OSGi based application
  • You want to provision bundles under test from all sorts of common and less common URL protocols like mvn:org.ops4j.pax.logging/pax-logging-api to setup your test environment
Getting Started with Pax Exam 2
Visit Pax Exam Learning Project to get started quickly.

What is special about Pax Exam

  • 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.

Latest News

Pax Exam 2.3.0 Released

The Pax Exam team is happy to announce the release of OPS4J Pax Exam 2.3.0 with more than 30 new features, maintenance updates and bugfixes.

There are only minor upgrades and cleanups compared to the 2.3.0.M1 milestone release. We would like to thank everyone who contributed to this release by source commits, patches, reviews or user feedback.

Some of the new features are not backward compatible with Pax Exam 2.2.0. Before upgrading, please read the article on Service Injection.

The most important additions since Pax Exam 2.2.0:

For more details, see the JIRA release notes below.

As usual, all artifacts are available from Maven Central.

Changes since 2.3.0.M1

Changes since 2.2.0

Any feedback is welcome, either on the mailing list (general@lists.ops4j.org) or via the issue tracker.

Labels: pax-exam, release

A considerable number of maintenance updates, bugfixes and new features have accumulated in Pax Exam over the past few weeks. While some of the new features are not yet in final shape, they are stable enough for a milestone release Pax Exam 2.3.0.M1.

Some of the new features are not currently backward compatible with Pax Exam 2.2.0, which may or may not remain so in the final 2.3.0 release.

With this milestone release, we are hoping to get feedback from users which will help us find the right balance between new features on the one hand and breaking some backward compatibility on the other hand.

Please feel free to send us your comment either on the mailing list (general@lists.ops4j.org) or via the issue tracker.

The most important new features are:

For more details, see the JIRA release notes below.

As usual, all artifacts are available from Maven Central.

Labels: pax-exam, release

Hi,

as of today, Tinybundles has got its first release since its divorce from Pax Swissbox.
Its named "1.0", works inside and outside of an OSGi context, is self contained (no external dependencies) and used in Pax Exam 2.2 from now on.

Tinybundles Releasenotes

Pax Exam 2.2 is a small feature but a bigger bug fix release. All users of Pax Exam 2.x are encouraged to switch immediately. Users of Pax Exam 1.x .. you are late.
Pax Exam Releasenotes

Happy Weekend!

Labels:
integration integration Delete
pax-project pax-project Delete
osgi osgi Delete
junit junit Delete
testing testing Delete
pax pax Delete
unit unit Delete
exam exam Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Clicky Web Analytics