ПочатиПочніть безкоштовно

Модульний тест: база даних зі списком

Візьміть ErrorStore та InfoStore з уроку, але тепер наш метод process() приймає список повідомлень. Для наведеного вхідного списку перевірте, що кожну базу даних викликано правильну кількість разів.

Ця вправа є частиною курсу

Вступ до тестування в Java

Переглянути курс

Інструкції до вправи

  • Створіть мок для InfoStore.
  • Створіть мок для ErrorStore.
  • Перевірте, скільки разів мок InfoStore буде викликано з поточними аргументами.
  • Перевірте, скільки разів мок ErrorStore буде викликано з поточними аргументами.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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."); 
    }
}
Редагувати та запускати код