Unit test: Zpráva v databázi
Vzpomeň si na ErrorStore a InfoStore z lekce. Představ si, že metoda process(String message) dostane zprávu [WARN] – ta neskončí ani v jedné databázi. Napiš test, který toto chování ověří.
Toto cvičení je součástí kurzu
Úvod do testování v Javě
Pokyny k cvičení
- Ověř, že zpráva neskončila v
infoStore. - Ověř, že neskončila ani v
errorStore– tentokrát pomocí přístupu stimes(). - Ve stejném volání přidej databázovou metodu
save(), která nebyla zavolána.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
public class Main {
public static void main(String[] args) {
launchMockitoTestsAndPrint(MessageProcessorTest.class);
}
}
class MessageProcessorTest {
@Test
void process_savesNowhere_whenWrongMessageType() {
InfoStore infoStore = mock(InfoStore.class);
ErrorStore errorStore = mock(ErrorStore.class);
MessageProcessor processor = new MessageProcessor(infoStore, errorStore);
String message = "[WARN] The search is slow.";
processor.process(message);
// Verify infoStore was not called
____(infoStore);
// Verify errorStore.save was called 0 times
verify(errorStore, ____(0)).____(message);
}
}