unitarias unitaria tutorial software pruebas prueba libre fail empaqueta ejemplos cuyo configuracion con java unit-testing junit

java - tutorial - prueba unitaria con junit



JUnit: @ ¿Antes solo para algunos métodos de prueba? (4)

Tengo un código de configuración común que he factorizado en un método marcado con @Before . Sin embargo, no es necesario que todo este código se ejecute para cada prueba. ¿Hay alguna forma de marcarlo para que el método @Before solo se ejecute antes de ciertas pruebas?


Es posible lograrlo también a través de Assume desde JUnit. Y luego puede verificar el nombre del método para el que desea procesar @Before .

public class MyTest { @Rule public TestName testName = new TestName(); @Before public void setUp() { assumeTrue(testName.getMethodName().equals("myMethodName")); // setup follows } }

Consulte el topic para obtener más información sobre @Rule .


No estoy seguro acerca de @Antes, pero recientemente se me ocurrió una estrategia para que el bloque @After se ejecute de forma selectiva. La implementación fue sencilla. Tengo algunos indicadores configurados en valores predeterminados como parte de la clase de prueba. Se restablecen a los valores predeterminados en la clase @Before. En la clase que necesito hacer cosas específicas de una marca, establezco esas banderas y en @Después de verificar los valores de las banderas para hacer los trabajos respectivos.


O utilice TestNG . Te da un control más preciso sobre las pruebas.


Simplemente mueva las pruebas que no necesitan el código de configuración a una clase de prueba separada. Si tiene algún otro código común a las pruebas que sería útil mantener, muévalo a una clase auxiliar.