java - para - Etiqueta esperada de JUnit que no funciona como se espera
que es link en html (3)
Tengo el siguiente caso de prueba en eclipse, usando JUnit 4 que se niega a pasar. ¿Qué podría estar mal?
@Test(expected = IllegalArgumentException.class)
public void testIAE() {
throw new IllegalArgumentException();
}
Este caso de prueba exacto ocurrió cuando el intento de probar mi propio código con la etiqueta esperada no funcionó. Quería ver si JUnit pasaría la prueba más básica. No lo hizo
También he probado con excepciones personalizadas como se esperaba sin suerte.
Captura de pantalla: captura de pantalla http://www.freeimagehosting.net/uploads/6a995b0db7.png
El problema es que su AnnounceThreadTest extiende TestCase. Debido a que extiende TestCase, JUnit Runner lo trata como una prueba JUnit 3.8, y la prueba se está ejecutando porque comienza con la palabra test, ocultando el hecho de que la anotación @Test en realidad no se usa en absoluto.
Para solucionar este problema, elimine la "extensión de TestCase" de la definición de clase.
En lugar de eliminar las extensiones de TestCase, puede agregar esto para ejecutar su caso de prueba con Junit4 que admite anotaciones.
@RunWith (JUnit4.class)
Simplemente ejecuté esto en IntelliJ usando JUnit 4.4:
@Test(expected = IllegalArgumentException.class)
public void testExpected()
{
throw new IllegalArgumentException();
}
Pasa perfectamente.
Reconstruye todo tu proyecto y vuelve a intentarlo. Hay algo más que estás haciendo mal. JUnit 4.4 está funcionando como se anuncia.