Struktur för funktionstester
Anpassade funktionstester måste paketeras som en separat JAR-fil som skapas av samma Maven-bygge som de artefakter som ska distribueras till AEM. I allmänhet är detta bygge en separat Maven-modul. Den resulterande JAR-filen måste innehålla alla nödvändiga beroenden och skulle vanligtvis skapas med maven-assembly-plugin
med hjälp av jar-with-dependencies
-beskrivningen.
Dessutom måste JAR ha Cloud-Manager-TestType
-manifesthuvudet inställt på integration-test
.
Följande är ett exempel på konfiguration för maven-assembly-plugin
.
<build>
<plugins>
<!-- Create self-contained jar with dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifestEntries>
<Cloud-Manager-TestType>integration-test</Cloud-Manager-TestType>
</manifestEntries>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
I den här JAR-filen måste klassnamnen för de faktiska test som ska köras sluta med IT
.
En klass med namnet com.myco.tests.aem.it.ExampleIT
skulle till exempel köras, men inte en klass med namnet com.myco.tests.aem.it.ExampleTest
.
Om du vill utesluta testkod från disponeringskontrollen för kodskanningen måste testkoden dessutom finnas under ett paket med namnet it
(disponeringsfiltret är **/it/**/*.java
).
Testklasserna ska vara normala JUnit-tester. Testinfrastrukturen är utformad och konfigurerad för att vara kompatibel med konventionerna som används av testbiblioteket aem-testing-clients
. Utvecklare uppmuntras att använda det här biblioteket och följa sina bästa rutiner.
Mer information finns i aem-testing-clients
GitHub-repo.