Встречается на собеседованиях • сегодня

Почему нужно производить Assert, вместо @Mock

Assert проверяет фактические результаты теста, а @Mock создает заглушки для зависимостей.

Пример:

java
@Test
public void testAddition() {
    Calculator calc = new Calculator();
    int result = calc.add(2, 3);
    assertEquals(5, result); // Проверяем реальное поведение
}

@Mock
private DatabaseService dbService;

@Test
public void testUserService() {
when(dbService.getUser(1)).thenReturn(new User("John")); // Заглушка
// Здесь проверяем логику, изолированную от реальной БД
}

text

**Ключевое:**  
- `Assert` — валидация логики (что код делает то, что нужно).  
- `@Mock` — изоляция тестируемого кода от внешних зависимостей (например, БД, API).  
Используются вместе: мокируют зависимости, а затем ассертами проверяют поведение.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы