TGViewer
StringConcat - разработка без боли и сожалений StringConcat - разработка без боли и сожалений @stringconcat · 3.72K subscribers
Post #206 2.88K
Мы с Серёжей постоянно нудим, что писать тесты нормально и здорово для всего, кроме разве что совсем примитивных вещей типа геттера/сеттера.

Есть ещё одна вещь, которой вроде не нужны тесты — ин-мемори хранилище.

Это паттерн Fake, который позволяет нам заменить весь data access layer с базой данных на легковесное хранилище в памяти, часто реализуемое на какой-нибудь HashMap. В прод такое, конечно, не идёт, но чтобы показать прототип пользователям и заказчикам годится и сильно экономит время. Так вот, код в этом случае выглядит максимально примитивно:

fun save(e: Entity) {
storage[e.id] = entity
}


или

fun find(id: EntityId) = storage[id]

Кажется, что тут ошибиться негде, но даже в такой фигне я делаю ошибки. Недавний рекорд — 3 ошибки на 3 строки кода. Перепутал в фильтре not, > и < и забыл смержить результаты. Пришлось три раза передеплоивать кластер и напрягать мозговину, пока не нашёл. С тестами на это ушло бы меньше времени и нервов.

Поэтому я не одобряю, когда забивают на тесты, например, в контроллерах. Пусть там иногда совсем нет логики, зато есть вагон спринговых аннотаций. За их обработку отвечают тёмные электрические силы, отчего они иногда работают по неочевидным правилам. Ну и нельзя исключать тупые опечатки в коде.

В общем, писать тесты нужно. Не написал тест — считай, что не написал код.
  • 👍 29
  • 👏 6
  • 🔥 3
  • ❤ 1
  • 🙉 1
More from @stringconcat
  1. Sep 26, 2026Вы не заметили, но в интернетах разразился скандал вселенского масштаба. Вопрос вот в чём:…
  2. Sep 21, 2026А сегодня снова не совсем обычный пост (пока я занят написанием духоты). Знаю, что у многи…
  3. Sep 18, 2026Сегодня необычный выпуск — подкаст с нашим старым бро Константином Могилевкиным. Константи…
  4. Sep 15, 2026Я частенько в своих постах упоминаю ключевую характеристику для сотрудника — автономность.…
  5. Sep 8, 2026Продолжаем обзор микросервисных изделий. На этот раз подписчики прислали мне архитектуру,…
  6. Sep 4, 2026Начинаем сезон видосиков с обзора карьерных путей (не переживайте, духота тоже будет, но п…
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 →