При разработке программного обеспечения тестирование является важнейшим аспектом обеспечения надежности и правильности кода. Mockito — это популярная среда тестирования Java, которая позволяет разработчикам создавать макеты объектов для модульного тестирования. Хотя Mockito предоставляет широкий спектр функций, одним из распространенных сценариев является создание исключений из void-методов во время тестирования. В этой статье вы познакомитесь с различными методами Mockito для обработки исключений в void-методах, а также приведёте примеры кода.
- doThrow():
МетодdoThrow()используется для выдачи исключения при вызове определенного метода void для фиктивного объекта. Вот пример:
import static org.mockito.Mockito.*;
// Create a mock object
List<String> mockList = mock(List.class);
// Throw an exception when calling void method
doThrow(RuntimeException.class).when(mockList).clear();
// Test the behavior
mockList.clear(); // Will throw a RuntimeException
- doAnswer():
МетодdoAnswer()позволяет вам определить собственное поведение, включая выдачу исключения при вызове метода void. Вот пример:
import static org.mockito.Mockito.*;
// Create a mock object
Calculator mockCalculator = mock(Calculator.class);
// Define custom behavior using doAnswer
doAnswer(invocation -> {
throw new IllegalArgumentException("Invalid argument");
}).when(mockCalculator).divide(anyInt(), eq(0));
// Test the behavior
mockCalculator.divide(10, 0); // Will throw an IllegalArgumentException
- doNothing():
МетодdoNothing()используется, когда вы не хотите ничего делать, когда метод void вызывается для фиктивного объекта. Обычно он используется для пустотных методов, которые не имеют побочных эффектов. Вот пример:
import static org.mockito.Mockito.*;
// Create a mock object
Printer mockPrinter = mock(Printer.class);
// Do nothing when calling void method
doNothing().when(mockPrinter).print(anyString());
// Test the behavior
mockPrinter.print("Hello, world!"); // No exception will be thrown
В этой статье мы рассмотрели несколько методов Mockito для обработки исключений в void-методах во время тестирования. Мы рассмотрели doThrow()для создания исключений, doAnswer()для определения пользовательского поведения и doNothing()для ничегонеделания при вызове метода void. называется. Понимание этих методов поможет вам писать надежные модульные тесты с помощью Mockito.