Concepto: pruebas AUnit
AUnit es un marco de prueba de Workday Studio que le permite desarrollar y ejecutar pruebas unitarias para los ensamblajes. Puede desarrollar las pruebas de AUnit en Java mediante los esqueletos de pruebas que cree en sus proyectos de ensamblaje. Los esqueletos de pruebas AUnit admiten las siguientes funciones:
- Acciones
- Anotaciones
- Aserciones
Puede utilizar estas funciones para crear los casos de prueba de sus ensamblajes.
Ejemplo:
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); } }
Anotaciones
Todas las pruebas de unidad deben contener un
@AssemblyTest
anotación Esta anotación identifica su prueba AUnit y le permite asociarla a su proyecto de ensamblaje. Ejemplo:
@AssemblyTest(project = "AUnitTrainer")
Las anotaciones en los métodos de prueba definen el punto de partida de una prueba unitaria en la cadena de proceso de ensamblaje. Ejemplo:
@UnitTest(startComponent = "Simple-Mediation")
Aserciones
Las aserciones definen las condiciones de prueba booleana. Si se produce un error en una aserción, AUnit anula la ejecución del ensamblaje y muestra el resultado de la prueba como un error. Si se produce una excepción inesperada, AUnit anula la ejecución del ensamblado y muestra el resultado de la prueba como un error.
Ejemplo: el siguiente ejemplo utiliza un
@AssertAfter
anotación y assertTrue
para comprobar si la parte del mensaje raíz contiene el XML esperado después de que se ejecute la mediación.
@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)); }
Acciones
Las acciones definen los comportamientos de prueba de AUnit cuando la ejecución del ensamblaje llega a un componente o un punto de salida. Ejemplo:
@AtComponent(id="Next-Thing") public Action handleAfterMediation() throws Exception { return new StandardAction(Action.Type.terminate); }