База знаний Бинариум

Юнит-тесты в Java: JUnit для начинающих

JUnit для начинающих

Вы поменяли одну строчку — и сломалась функция в другом конце программы. Знакомо? Юнит-тесты ловят такие поломки за секунды. А ещё их наличие в пет-проекте сразу выделяет джуна среди других кандидатов.

Б

Редакция Бинариума

Пишем о профессиях в дизайне, BIM и IT · 6 минут чтения

Зачем нужны тесты

Юнит-тест — небольшая программа, которая автоматически проверяет, что отдельный метод или класс работает правильно.

  • Быстро находят ошибки после изменений.
  • Документируют, как должен работать код.
  • Дают смелость рефакторить.

Первый тест на JUnit 5

Код, который проверяем:

public class Calculator {
  public int add(int a, int b) { return a + b; }
}

Тест:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {
  @Test
  void addsTwoNumbers() {
    Calculator c = new Calculator();   // подготовка
    int result = c.add(2, 3);           // действие
    assertEquals(5, result);              // проверка
  }
}

Структура «подготовка — действие — проверка» (Arrange-Act-Assert) делает тесты читаемыми.

Курс Бинариума

Java-разработчик с нуля — тесты в финальном проекте

Подробнее

Основные проверки

МетодЧто проверяет
assertEqualsЗначения равны
assertTrue / assertFalseУсловие истинно или ложно
assertNull / assertNotNullЗначение пустое или нет
assertThrowsМетод выбрасывает исключение
@Test
void cannotWithdrawMoreThanBalance() {
  Account acc = new Account(100);
  assertThrows(IllegalArgumentException.class, () -> acc.withdraw(500));
}

Хороший тест

  • Проверяет одну вещь и называется так, чтобы было понятно, какую.
  • Независим от других тестов и порядка запуска.
  • Быстрый — не ходит в сеть и в реальную базу.
  • Проверяет граничные случаи: ноль, пустой список, отрицательные числа.

Главное

  • Юнит-тесты автоматически проверяют отдельные части кода.
  • Тест строится по схеме подготовка — действие — проверка.
  • Проверяйте и обычные, и граничные случаи.
  • Тесты в пет-проекте — плюс на собеседовании.

Частые вопросы

Сколько тестов нужно писать?

Для учебного проекта — покройте ключевую логику и граничные случаи. Стремиться к 100% покрытия не обязательно.

Что такое моки?

Заглушки, которые подменяют зависимости в тестах — например, базу данных или внешний сервис.

Курс Бинариума

Java-разработчик с нуля

Пишите код, который работает и проверяется автоматически.

  • 11 недель обучения
  • 10+ практических работ
  • Проект с тестами на GitHub
11.11.2026
Читайте также