Android JUnit: Cómo hacer que una excepción cause un caso de prueba para pasar (anotación @Test)

Estoy tratando de escribir algunas pruebas de JUnit para una aplicación de Android.

He leído en línea que para tener un pase de prueba de unidad si se lanza una excepción, se utiliza la anotación @Test como este

@Test(expected = NullPointerException.class) public void testNullValue() throws Throwable { Object o = null; o.toString(); } 

pero Eclipse me está diciendo que esta anotación no existe. ¿Cómo puedo arreglar esto? Si ejecuto la prueba, se ejecuta muy bien y falla como se esperaba, pero obviamente quiero que falle (y por lo tanto realmente pasar) 🙂

Siempre se puede omitir manualmente:

 public void testNullValue() { try { Object o = null; o.toString(); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException e) { assertTrue(true); } } 

Creo que debería ser:

 @Test(expected=NullPointerException.class) 
  1. Revisa la versión de JUnit que estás usando
  2. No utilice el JUnit que proporciona eclipse (Indigo), sino que importa manualmente un JUnit 4.9 manualmente

El error es que "misterioso" error que no tiene una respuesta fácil o inmediata, sólo estoy probando ideas

  • Prueba de unidad para EditTextView. ¿Cómo lo hago?
  • JUnit assertThat: comprueba que Object sea igual a String
  • Cómo probar Menú
  • Diferencia entre InstrumentationTestCase y AndroidTestCase
  • Excepción de tiempo de ejecución en las pruebas de Android JUnit
  • Unidad de prueba de un receptor de radiodifusión?
  • Dos robotium caso de prueba, pero el segundo colgar no responde (en JUnit View)
  • ¿Intentar ejecutar Android JUnit pruebas en Eclipse falla?
  • Prueba de Android Realm con RxJava - "abierto desde un hilo sin un Looper" Excepción
  • Obtenga el contexto del proyecto de prueba en el caso de prueba de Android junit
  • Espresso - compruebe si TextView existe en ListView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.