Concept : tests AUnit
AUnit est une structure de test de Workday Studio qui vous permet d’élaborer et d’exécuter des tests unitaires pour les assemblages. Vous pouvez concevoir des tests AUnit en Java à l’aide des structures de test que vous créez dans vos projets d’assemblage. Les structures de test AUnit prennent en charge les fonctionnalités suivantes :
- Actions
- Annotations
- Assertions
Vous pouvez utiliser ces fonctionnalités pour créer des scénarios de test pour vos assemblages.
Exemple :
package com.workday.training.aunit; import java.io.InputStream; import com.workday.aunit.AssemblyTestCase; import com.workday.aunit.actions.Action; import com.workday.aunit.actions.StandardAction; import com.workday.aunit.annotations.AssemblyTest; import com.workday.aunit.annotations.AssertAfter; import com.workday.aunit.annotations.AtComponent; import com.workday.aunit.annotations.UnitTest; @AssemblyTest(project = "AUnitTrainer", displayLabel = "Citizens of the Cloud") public class SimpleMediationTest extends AssemblyTestCase { @UnitTest(startComponent = "Simple-Mediation") public void testSimpleMediation() throws Exception { setMessagePart(0, "test/simple-input.xml", "text/xml"); } // Using the @AssertAfter annotation and the assertTrue assertion. // @AssertAfter(id = "Simple-Mediation", step="transform") public void verifySimpleMediation() throws Exception { assertTrue(compare( getTestResourceInputStream("test/simple-expected.xml"), "text/xml", (InputStream) getMediationContext().getMessage().getMessagePart(0, InputStream.class), "text/xml", Comparator.dom)); } @AtComponent(id="Next-Thing") public Action handleAfterMediation() throws Exception { return new StandardAction(Action.Type.terminate); } }
Annotations
Tous les tests UNit doivent contenir une valeur
@AssemblyTest
la mention. Cette annotation identifie votre test UNit et vous permet d’associer le test à votre projet d’agrégation. Exemple :
@AssemblyTest(project = "AUnitTrainer")
Les annotations sur les méthodes de test définissent le point de départ d’un test unitaire dans la chaîne de traitement de l’assemblage. Exemple :
@UnitTest(startComponent = "Simple-Mediation")
Assertions
Les assertions définissent des conditions de test booléennes. Si une assertion échoue, AUnit interrompt l’exécution de l’assemblage et affiche le résultat du test comme un échec. Si une exception inattendue se produit, UNit abandonne l’exécution de l’agrégation et affiche le résultat du test sous forme d’erreur.
Exemple : l'exemple ci-dessous utilise un
@AssertAfter
annotations et une assertTrue
assertion pour vérifier si la partie du message racine contient le XML attendu après l'exécution de la médiation.
@AssertAfter(id = "Simple-Mediation", step="transform") public void verifySimpleMediation() throws Exception { assertTrue(compare( getTestResourceInputStream("test/simple-expected.xml"), "text/xml", (InputStream) getMediationContext().getMessage().getMessagePart(0, InputStream.class), "text/xml", Comparator.dom)); }
Actions
Les actions définissent les comportements des tests AUnit lorsque l’exécution de l’assemblage atteint une composante ou un point de sortie. Exemple :
@AtComponent(id="Next-Thing") public Action handleAfterMediation() throws Exception { return new StandardAction(Action.Type.terminate); }