You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2011/01/31 18:27:29 UTC
[jira] Commented: (SLING-1963) Support for server-side JUnit tests,
injected in a running Sling instance
[ https://issues.apache.org/jira/browse/SLING-1963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12988803#comment-12988803 ]
Bertrand Delacretaz commented on SLING-1963:
--------------------------------------------
And BTW if would be easy to access OSGi services from the test bundle, using an Activator that stores the BundleContext and makes it available via a static variable.
> Support for server-side JUnit tests, injected in a running Sling instance
> -------------------------------------------------------------------------
>
> Key: SLING-1963
> URL: https://issues.apache.org/jira/browse/SLING-1963
> Project: Sling
> Issue Type: Improvement
> Reporter: Bertrand Delacretaz
> Assignee: Bertrand Delacretaz
>
> 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
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira