This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/sling-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new c711ca4  Automatic website deployment from 
https://ci-builds.apache.org/job/Sling/job/modules/job/sling-site/job/master/58/
c711ca4 is described below

commit c711ca4ede205bbb30515a7775e500fe4d3a2aae
Author: jenkins <[email protected]>
AuthorDate: Wed Oct 21 10:08:15 2020 +0000

    Automatic website deployment from 
https://ci-builds.apache.org/job/Sling/job/modules/job/sling-site/job/master/58/
---
 .../bundles/org-apache-sling-junit-bundles.html    | 52 +++++++++++++++++++++-
 1 file changed, 50 insertions(+), 2 deletions(-)

diff --git a/documentation/bundles/org-apache-sling-junit-bundles.html 
b/documentation/bundles/org-apache-sling-junit-bundles.html
index 966f799..0d79050 100644
--- a/documentation/bundles/org-apache-sling-junit-bundles.html
+++ b/documentation/bundles/org-apache-sling-junit-bundles.html
@@ -117,7 +117,7 @@
 <div class="row"><div><section><p>This is an overview of the Sling bundles 
that provide support for server-side JUnit tests.</p>
 <p>The Maven modules below <a 
href="https://github.com/apache/sling-samples/tree/master/testing";><code>sling-samples/testing</code></a>
 provide different examples including HTTP-based and server-side teleported 
tests in a bundle module, running against a full Sling instance setup in the 
same Maven module.</p>
 <h2><a href="#orgapacheslingjunitcore-server-side-junit-tests-support" 
id="orgapacheslingjunitcore-server-side-junit-tests-support">org.apache.sling.junit.core:
 server-side JUnit tests support</a></h2>
-<p>This bundle provides a <code>JUnitServlet</code> that runs JUnit tests 
found in bundles.</p>
+<p>This bundle provides a <code>JUnitServlet</code> that runs JUnit tests 
found in bundles. Both JUnit 4 tests and (optionally) JUnit 5 tests (aka 
Jupiter) are supported.</p>
 <div class="warning">
 Note that the JUnitServlet does not require authentication, so it would allow 
any client to run tests. The servlet can be disabled by configuration if 
needed, but in general the `/system` path should not be accessible to website 
visitors anyway.
 </div>
@@ -127,6 +127,54 @@ For tighter integration with Sling, the alternate 
`SlingJUnitServlet` is registe
 <p>To make tests available to that servlet, the bundle that contains them must 
point to them with a <code>Sling-Test-Regexp</code> bundle header that defines 
a regular expression that matches the test class names, like for example:</p>
 <pre><code>Sling-Test-Regexp=com.example.*ServerSideTest
 </code></pre>
+<h3><a href="#junit-4-support" id="junit-4-support">JUnit 4 Support</a></h3>
+<p>All that is required is the installation of the the Apache Sling JUnit Core 
bundle. The bundle exports the packages <code>junit.*</code>, 
<code>org.junit.*</code> and additionally <code>org.hamcrest.*</code>.</p>
+<p>Note however that the <code>org.junit.platform.*</code> packages, which 
contain the generic testing platform developed for JUnit 5, are NOT 
exported.</p>
+<p>If you want to run JUnit 4 tests side-by-side with JUnit 5 tests, please 
refer to the next section.</p>
+<h3><a href="#junit-5-support-since-version-110" 
id="junit-5-support-since-version-110">JUnit 5 Support (since version 
1.1.0)</a></h3>
+<p>The Apache Sling JUnit Core bundle has a number of optional imports. JUnit 
5 support is automatically enabled when these optional imports are 
satisfied.</p>
+<p>Note that a restart of the Apache Sling JUnit Core bundle is required if 
the optional dependencies are installed after the bundle was resolved.</p>
+<p>The next sections provide a high level overview of the JUnit 5 architecture 
and list the additional bundles that must be deployed in order to run tests on 
the JUnit Platform.</p>
+<h4><a href="#background-on-junit-5" id="background-on-junit-5">Background on 
JUnit 5</a></h4>
+<p>JUnit 5 is composed of three main components, each of which is composed of 
several bundles:</p>
+<blockquote>
+<p><strong>JUnit 5 = <em>JUnit Platform</em> + <em>JUnit Jupiter</em> + 
<em>JUnit Vintage</em></strong></p>
+</blockquote>
+<p>Source: <a 
href="https://junit.org/junit5/docs/current/user-guide/#overview-what-is-junit-5";>JUnit
 5 User Guide - What is JUnit 5?</a></p>
+<p><a href="#junit-platform">JUnit Platform</a>: a generic platform for 
launching testing frameworks that defines the <code>TestEngine</code> API, an 
extension point for hooking in arbitrary ways of describing tests.</p>
+<p><a href="#bundles-for-the-junit-jupiter-engine-junit-5">JUnit Jupiter</a>: 
a <code>TestEngine</code> that can run Jupiter based tests  on the platform. 
I.e. it runs tests that are coloquially referred to as JUnit 5 tests.</p>
+<p><a href="#bundles-for-the-junit-vintage-engine-junit-4">JUnit Vintage</a>: 
a <code>TestEngine</code> that can run JUnit 3 and JUnit 4 based tests on the 
platform.</p>
+<h4><a href="#junit-platform" id="junit-platform">JUnit Platform</a></h4>
+<p>The optional imports of the Apache Sling JUnit Core bundle are for the 
JUnit Platform. The bundle is agnostic of the actual <code>TestEngine</code> 
implementations.The following four bundles need to be deployed:</p>
+<ul>
+<li>org.opentest4j:opentest4j</li>
+<li>org.junit.platform:junit-platform-commons</li>
+<li>org.junit.platform:junit-platform-engine</li>
+<li>org.junit.platform:junit-platform-launcher</li>
+</ul>
+<div class="note">
+Note: `junit-platform-commons` version 1.7.0 cannot be deployed using Sling's 
OSGi Installer, due to [junit5 issue 
#2438](https://github.com/junit-team/junit5/issues/2438). Other JUnit5 bundles 
_may_ be affected by the same issue.
+</div> 
+<p>However, in order to run tests at least one implementation of 
<code>org.junit.platform.engine.TestEngine</code> needs to be available. Both 
<a href="#bundles-for-the-junit-jupiter-engine-junit-5">JUnit Jupiter</a> and 
<a href="#bundles-for-the-junit-vintage-engine-junit-4">JUnit Vintage</a> 
provide a test engine, so at least one of the two needs to be deployed.</p>
+<p>Custom or other other 3rd party <code>TestEngine</code> implementations 
should be able to hook in transparently, provided they are advertised using 
Java's <code>ServiceLoader</code> mechanism. Apache Sling Junit Core takes care 
of detecting test engines in other installed bundles and automatically makes 
them available for test execution.</p>
+<h4><a href="#bundles-for-the-junit-jupiter-engine-junit-5" 
id="bundles-for-the-junit-jupiter-engine-junit-5">Bundles for the JUnit Jupiter 
Engine (JUnit 5)</a></h4>
+<p>The JUnit Jupiter engine enables the new Jupiter style (or JUnit 5 style) 
for writing unit tests.</p>
+<p>In addition to the <a href="#junit-platform">JUnit Platform bundles</a> the 
following bundles need to be deployed:</p>
+<ul>
+<li>org.junit.jupiter:junit-jupiter-api</li>
+<li>org.junit.jupiter:junit-jupiter-engine</li>
+<li>(optional) org.junit.jupiter:junit-jupiter-params</li>
+<li>(optional) org.junit.jupiter:junit-jupiter-migrationsupport</li>
+</ul>
+<h4><a href="#bundles-for-the-junit-vintage-engine-junit-4" 
id="bundles-for-the-junit-vintage-engine-junit-4">Bundles for the JUnit Vintage 
Engine (JUnit 4)</a></h4>
+<p>The JUnit Vintage engine provides a backwards compatibility layer to allow 
running JUnit 4 tests on the new JUnit Platform.</p>
+<p>In addition to the <a href="#junit-platform">JUnit Platform bundles</a> the 
following bundle needs to be deployed:</p>
+<ul>
+<li>org.junit.vintage:junit-vintage-engine</li>
+</ul>
+<div class="note">
+Note: the JUnit Vintage engine is only required if JUnit 4 and JUnit 5 tests 
should be executed side-by-side. For plain JUnit 4 support _only_ the Apache 
Sling JUnit Core bundle needs to be installed. For plain Jupiter (or JUnit 5) 
tests, see [JUnit Jupiter](#bundles-for-the-junit-jupiter-engine-junit-5).
+</div> 
 <h3><a href="#the-teleporterrule" id="the-teleporterrule">The 
TeleporterRule</a></h3>
 <p>The <code>TeleporterRule</code> supplied by this bundle (since V1.0.12) 
makes it easy to write such tests, as it takes care of all the mechanics of</p>
 <ol>
@@ -256,7 +304,7 @@ TEST_PASSED
             </div><footer class="footer">
                 <div class="content has-text-centered is-small">
 <div class="revisionInfo">
-                        Last modified by <span class="author">Bertrand 
Delacretaz</span> on <span class="comment">Fri Mar 6 16:30:54 2020 +0100</span>
+                        Last modified by <span class="author">Julian 
Sedding</span> on <span class="comment">Wed Oct 21 12:05:13 2020 +0200</span>
                     </div>                    <p>
                         Apache Sling, Sling, Apache, the Apache feather logo, 
and the Apache Sling project logo are trademarks of The Apache Software 
Foundation. All other marks mentioned may be trademarks or registered 
trademarks of their respective owners.
                     </p><p>

Reply via email to