Junit Disable Tests
Junit: Disable tests
Toda la clase de pruebas o métodos de prueba individuales pueden ser deshabilitados mediante la anotación @Disabled, mediante una de las anotaciones discutidas en Ejecución Condicional de Pruebas, o mediante una condición de ejecución personalizada.
Cuando @Disabled se aplica al nivel de la clase, todos los métodos de prueba dentro de esa clase también se deshabilitan automáticamente.
Si un método de prueba se deshabilita mediante @Disabled, esto impide la ejecución del método de prueba y las devoluciones de llamada del ciclo de vida a nivel de método, como los métodos @BeforeEach, @AfterEach y las APIs de extensión correspondientes. Sin embargo, esto no impide que la clase de prueba sea instanciada, ni impide la ejecución de las devoluciones de llamada del ciclo de vida a nivel de clase, como los métodos @BeforeAll, @AfterAll y las APIs de extensión correspondientes.
Aquí tienes una clase de prueba con @Disabled.
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@Disabled("Disabled until bug #99 has been fixed")
class DisabledClassDemo {
@Test
void testWillBeSkipped() {
}
}
Y aquí tienes una clase de prueba que contiene un método de prueba con @Disabled.
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
class DisabledTestsDemo {
@Disabled("Disabled until bug #42 has been resolved")
@Test
void testWillBeSkipped() {
}
@Test
void testWillBeExecuted() {
}
}
❕@Disabled puede ser declarada sin proporcionar una razón; sin embargo, el equipo de JUnit recomienda que los desarrolladores proporcionen una breve explicación del motivo por el cual una clase de prueba o un método de prueba ha sido deshabilitado. En consecuencia, los ejemplos anteriores muestran el uso de una razón, por ejemplo, @Disabled(“Deshabilitado hasta que se resuelva el error #42”). Algunos equipos de desarrollo incluso exigen la presencia de números de seguimiento de problemas en la razón para facilitar la trazabilidad automática, etc.
💡@Disabled no es @Inherited. En consecuencia, si deseas deshabilitar una clase cuya clase base está anotada con @Disabled, debes redeclarar @Disabled en la subclase.