2011-05-23 18 views

Respuesta

26

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

5

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.

+0

No sé si editó su pregunta, pero '@ Ignore' no es condicional. –

+0

@ Alan si obtengo el OP correcto, su interpretación de condicional es "si agrega la anotación o no" :-) –

+0

Verdadero. Supongo que lo sabremos cuando acepte una respuesta. –

2

Si usa JUnit 4.x, solo use @Ignore. Ver here

+0

No sé si editó su pregunta, pero '@ Ignore' no es condicional. –

7

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.

+0

No estoy seguro de que eso haya deseado el OP, pero es exactamente lo que * I * estaba buscando, ¡gracias! – Michael

Cuestiones relacionadas