Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
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
@TestReference
SlingRepository repository
And maybe
@Test
@OptionalTest(requiredService=repository)
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
Attachments
Issue Links
- blocks
-
SLING-1981 Create a sample that demonstrates our testing tools and techniques
- Resolved
- relates to
-
SLING-1981 Create a sample that demonstrates our testing tools and techniques
- Resolved