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
Instrucciones del ejercicio
- Crea un mock para
InfoStore. - Crea un mock para
ErrorStore. - Verifica cuántas veces se llamará al mock de
InfoStorecon los argumentos actuales. - Verifica cuántas veces se llamará al mock de
ErrorStorecon 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.");
}
}