TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.39K subscribers
Post #8112 987
От запахов к стабильности: рефакторим unit-тесты на JUnit

(Статья - результат совместной работы с Натальей Поляковой)

"Запахи" в тестах — это полезные сигналы, которые важно уметь распознавать, чтобы писать удобные и легко поддерживаемые тесты. Мы уже писали про "запахи" в E2E-тестах; сейчас же рассмотрим распространённые ошибки, которые возникают при написании модульных тестов.

Хоть написание модульных тестов и является обычной практикой для программистов, тестовый код по-прежнему часто рассматриваются как код второго сорта. Между тем здесь, как и в любой области программирования, стоит знать паттерны и антипаттерны.

В книге Джерарда Месароша о паттернах в xUnit есть полезные главы о «запахах тестов», и в интернете можно найти много других полезных материалов по этой теме. Нам же показалось интересным подойти к этой проблеме не со стороны теории, а со стороны практики: какие частые ошибки можно встретить в тестах, как их исправлять, и почему именно тесты нужно писать так, а не иначе?

Мы разберём всё это на примере: напишем один модульный тест на JUnit, и по ходу дела будем исправлять возникающие ошибки. Код примера доступен на GitHub.


Читать: https://habr.com/ru/companies/testops_tms/articles/954294/?utm_campaign=954294

@a_cup_of_java | Другие наши каналы
More from @a_cup_of_java
  1. Sep 22, 2026Как профилировать Java-приложения с JDK Flight Recorder JDK Flight Recorder (JFR) встроен…
  2. Sep 22, 2026Quarkus 3.31.2: как измерить покрытие runtime-модулей расширений До версии 3.31.2 расширен…
  3. Sep 22, 2026В Quarkus 3.37.0 появился новый вход к реляционным данным Экспериментальное расширение Qua…
  4. Sep 21, 2026Spring и Hibernate: как очищать тестовые данные без @DataJpaTest Hibernate ORM 6.2 добавил…
  5. Sep 21, 2026Как Hardwood ускоряет чтение фиксированных списков Parquet Parquet кодирует координаты и в…
  6. Sep 21, 2026Как сборщики мусора JDK связывают память и производительность JDK предлагает несколько сбо…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →