Pregunta

Tengo el siguiente caso de prueba en eclipse, utilizando 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 exacta se produjo cuando se trata de probar mi propio código con la etiqueta de esperar que no funcionó. Yo 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: Imagen

¿Fue útil?

Solución

El problema es que su AnnounceThreadTest extiende TestCase. Debido a que se extiende TestCase, la JUnit Runner está tratando como un 3.8 prueba JUnit, y se ejecuta la prueba, ya que comienza con la palabra de prueba, ocultando el hecho de que el annotiation @test es, de hecho no se utiliza en absoluto.

Para solucionar este problema, extraiga el "extiende TestCase" de la definición de clase.

Otros consejos

En lugar de eliminar extiende TestCase, puede agregar esto para ejecutar el caso de test con Junit4 que apoya anotación.

@RunWith (JUnit4.class)

acaba de ejecutar esto en IntelliJ utilizando JUnit 4.4:

   @Test(expected = IllegalArgumentException.class)
   public void testExpected()
   {
       throw new IllegalArgumentException();
   }

Pases perfectamente.

Reconstruir todo su proyecto y vuelve a intentarlo. Hay algo más que usted está haciendo mal. JUnit 4.4 funciona como se anuncia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top