Uploaded image for project: 'Sling'
  1. Sling
  2. SLING-1963

Support for server-side JUnit tests, injected in a running Sling instance


    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None


      I've been working on a prototype JUnit extension framework [1] that allows JUnit tests to be injected in a Sling instance, and executed via a test runner servlet.

      Tests are not yet OSGi-aware in the first prototype, but they are dynamically injected as exported classes in a bundle that points to them with a Test-Package header. Apart from that they are 100% normal JUnit3 or 4 tests.

      Next step is to use annotations to inject services in the tests, I'm thinking of something like

      SlingRepository repository

      And maybe

      public void someTest()...

      which would ignore the test if the repository service is not present.

      The prototype consists of two bundles: "extension" which is the test detection and runner services, and "testbundle" which provides a few example tests. To play with it, install the two bundles and access the test servlet at /system/sling/junit/

      [1] http://svn.apache.org/repos/asf/sling/whiteboard/bdelacretaz/junit


          Issue Links



              • Assignee:
                bdelacretaz Bertrand Delacretaz
                bdelacretaz Bertrand Delacretaz
              • Votes:
                0 Vote for this issue
                0 Start watching this issue


                • Created: