Teste de unidade: Banco de dados com uma lista
Considere ErrorStore e InfoStore da lição, mas agora nosso método process() está aceitando uma lista de mensagens. Dada a lista de entrada fornecida, verifique se cada banco de dados foi chamado o número correto de vezes.
Este exercicio faz parte do curso
Introdução a Testes em Java
Instruções do exercicio
- Crie um mock para
InfoStore. - Crie um mock para
ErrorStore. - Verifique quantas vezes o mock de
InfoStoreserá chamado com os argumentos atuais. - Verifique quantas vezes o mock de
ErrorStoreserá chamado com os argumentos atuais.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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.");
}
}