Встречается на собеседованиях • сегодня
Что умеешь в Mockito
Mockito — популярный фреймворк для мокинга в Java. Основные возможности:
1. **Создание моков** — `Mockito.mock()` или аннотация `@Mock`:
```java
List mockedList = Mockito.mock(List.class);
```
2. **Задание поведения** — `when().thenReturn()`:
```java
when(mockedList.get(0)).thenReturn("first");
```
3. **Проверка вызовов** — `verify()`:
```java
verify(mockedList).get(0);
```
4. **Аргумент-матчеры** — `any()`, `eq()` и др.:
```java
when(mockedList.get(anyInt())).thenReturn("element");
```
5. **Захват аргументов** — `ArgumentCaptor`:
```java
ArgumentCaptor captor = ArgumentCaptor.forClass(String.class);
verify(mockedList).add(captor.capture());
```
6. **Spy** — частичный мок реального объекта (`@Spy`):
```java
List realList = new ArrayList<>();
List spiedList = Mockito.spy(realList);
```
7. **Проверка порядка вызовов** — `InOrder`:
```java
InOrder inOrder = inOrder(mockedList);
inOrder.verify(mockedList).add("first");
```
8. **Исключения** — `thenThrow()`:
```java
when(mockedList.clear()).thenThrow(new RuntimeException());
```
Поддерживает аннотации через `MockitoAnnotations.openMocks(this)` и интеграцию с JUnit 4/5.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы