ComenzarEmpieza gratis

Prueba unitaria: Base de datos con una lista

Considera ErrorStore e InfoStore de la lección, pero ahora nuestro método process() acepta una lista de mensajes. Con la lista de entrada proporcionada, verifica que cada base de datos se haya llamado el número correcto de veces.

Este ejercicio forma parte del curso

Introducción a las pruebas en Java

Ver curso

Instrucciones del ejercicio

  • Crea un mock para InfoStore.
  • Crea un mock para ErrorStore.
  • Verifica cuántas veces se llamará al mock de InfoStore con los argumentos actuales.
  • Verifica cuántas veces se llamará al mock de ErrorStore con los argumentos actuales.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

public class Main {
    public static void main(String[] args) {
		launchMockitoTestsAndPrint(MessageProcessorTest.class);
    }
}

class MessageProcessorTest {
    @Test
    void process_savesToCorrectDatabase_whenValidInputList() {
        List sampleMessages = new ArrayList<>();
        sampleMessages.add("[INFO] An info message.");
        sampleMessages.add("[INFO] An info message.");
        sampleMessages.add("[ERROR] An error message.");
        sampleMessages.add("[INFO] An info message.");
        
    	// Create a mock for the InfoStore
        InfoStore ____ = ____(____.class);
        // Create a mock for the ErrorStore
        ErrorStore ____ = ____(____.class);
        MessageProcessor processor = new MessageProcessor(infoStore, errorStore);
        processor.process(sampleMessages);

		// Verify how many times the infoStore has to store the message
        ____(____, times(3)).save("[INFO] An info message.");
        // Verify how many times the errorStore has to store the message
        ____(____, times(1)).save("[ERROR] An error message."); 
    }
}
Editar y ejecutar código