es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer una prueba unitaria en un Botón que salta entre actividades? (Android Studio Junit5)

Como indica el título, estoy escribiendo una aplicación para Android usando Java,
quiero hacer una prueba unitaria usando Junit5 en mis métodos de botón que se ven así:


private void GoToAbout() {
abtBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.playSoundEffect(SoundEffectConstants.CLICK);
startActivity(new Intent(MainActivity.this,About.class));
}
});
}

Que si los usuarios hacen clic en el botón, pueden saltar de MainActivity a About activity.

Aunque la función funciona perfectamente al probarla en mi teléfono físico,
¿Cómo sueles escribir las pruebas unitarias para métodos así?
(Quiero decir, no tiene una salida para que yo pueda revisar)

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para escribir una prueba de unidad para el método de botón anterior utilizando Junit5, puede seguir estos pasos:

    1. Cree un nuevo método de prueba en su clase de prueba y anótelo con @Test para indicar que es una prueba de unidad.
    @Test
    public void testGoToAbout() {
        //TODO: escriba la lógica de la prueba aquí
    }
    
    1. Cree un objeto View simulado y un objeto Intent que debería lanzarse cuando se hace clic en el botón.
    View mockView = mock(View.class);
    Intent expectedIntent = new Intent(MainActivity.this, About.class);
    
    1. Llame al método onClick del botón con la vista simulada como argumento.
    abtBtn.performClick(mockView);
    
    1. Verifique que se haya lanzado el objeto Intent esperado.
    verify(mockView).playSoundEffect(SoundEffectConstants.CLICK);
    verify(mockContext).startActivity(expectedIntent);
    

    Esto asegurará que al hacer clic en el botón se lance el objeto Intent correcto.

    Dado que este método no tiene ninguna salida directa que verificar, puede verificar si se llevaron a cabo las acciones previstas cuando se llama al método.

Comments are closed.