Por lo que sé omitir un caso de prueba, lo más simple es eliminar la anotación @Test
, pero hacerlo en un gran número de casos de prueba es engorroso. Me preguntaba si hay alguna anotación disponible en JUnit para desactivar algunos casos de prueba condicionalmente.¿hay alguna anotación condicional en JUnit para marcar algunos casos de prueba para omitir?
Respuesta
Es difícil saber si es la anotación @Ignore
que está buscando, o si realmente desea desactivar ciertas pruebas JUnit condicionalmente. Desactivando testcases condicionalmente se hace usando Assume
.
Usted puede leer acerca de las suposiciones en el release notes para JUnit 4.5
También hay un buen hilo en lugar aquí en la pila sobre el flujo: Conditionally ignoring tests in JUnit 4
Puede usar la anotación @Ignore
que puede agregar a una única prueba o clase de prueba para desactivarla.
Si necesita algo condicional, tendrá que crear un corredor de prueba personalizada que puede registrarse usando
@RunWith(YourCustomTestRunner.class)
Usted podría utilizar eso para definir una anotación personalizada que utiliza el lenguaje de expresión o referencia a un sistema de propiedad comprobar si se debe ejecutar una prueba. Pero tal bestia no existe fuera de la caja.
No sé si editó su pregunta, pero '@ Ignore' no es condicional. –
@ Alan si obtengo el OP correcto, su interpretación de condicional es "si agrega la anotación o no" :-) –
Verdadero. Supongo que lo sabremos cuando acepte una respuesta. –
Si usa JUnit 4.x, solo use @Ignore
. Ver here
No sé si editó su pregunta, pero '@ Ignore' no es condicional. –
Como otras personas ponen aquí @ignore ignora una prueba.
Si desea algo condicional que tenga en cuenta las suposiciones junit.
http://junit.sourceforge.net/javadoc/org/junit/Assume.html
Esto funciona por mirar una condición y sólo proceder a ejecutar la prueba si se cumple este requisito. Si la condición es falsa, la prueba se "ignora" efectivamente.
Si coloca esto en una clase auxiliar y lo llama desde varias de sus pruebas, puede usarlo de la forma que desee. Espero que ayude.
No estoy seguro de que eso haya deseado el OP, pero es exactamente lo que * I * estaba buscando, ¡gracias! – Michael
- 1. ¿Hay alguna forma de ejecutar MySQL en memoria para los casos de prueba de JUnit?
- 2. JUnit: @Antes solo para algunos métodos de prueba?
- 3. Prueba JUnit para System.out.println()
- 4. ¿JUnit ejecuta casos de prueba secuencialmente?
- 5. ¿Por qué JUnit ejecuta casos de prueba para teoría solo hasta la primera falla?
- 6. Cómo evitar la herencia en los casos de prueba JUnit?
- 7. Cómo aplicar un JUnit @Rule para todos los casos de prueba en un conjunto
- 8. ¿Cómo ejecutar todos los casos de prueba JUnit de NetBeans?
- 9. ¿Hay alguna prueba para Ruby on Rails?
- 10. método de prueba junit para getters & setters
- 11. Casos de prueba para entradas de cadena
- 12. JUnit anotación personalizada
- 13. Anotación condicional de Django
- 14. ¿Hay alguna manera de omitir el parámetro?
- 15. prueba de junit - assertEquals para excepción
- 16. ¿Cómo hacer que los casos de prueba JUnit se ejecuten en orden secuencial?
- 17. ¿Hay alguna documentación para omitir ceros en notación decimal de puntos de direcciones IPV4?
- 18. ¿Hay alguna bandera global para la compilación estática de Groovy?
- 19. generador de caso de prueba junit
- 20. ¿Cómo decidir casos de prueba para pruebas unitarias?
- 21. Maven2 junit timeout anotación no funciona
- 22. ¿Hay alguna forma en php para hacer que SWITCH opreator compare casos estrictamente?
- 23. Eclipse JUnit @Anterior problema de anotación
- 24. En IDA Pro, ¿hay alguna manera de marcar una función?
- 25. Mejor o personalizado JUnit prueba de filtrado
- 26. ¿Hay alguna manera de "fallar rápido" para junit con el plugin maven surefire?
- 27. Omitir algunos archivos durante la compilación Eclipse
- 28. ¿Hay alguna manera de marcar el código para decirle a ReSharper que no lo formatee?
- 29. ¿Hay algún buen software de código abierto para escribir casos de prueba?
- 30. C/C++ marco de prueba (como JUnit para java)
La forma adecuada es usar la anotación @Ignore, pero no es condicional. –