як правило, поєдную Advent of Code з вивченням нової мови. цього року вирішив робити таски на Elixir (до цього не мав досвіду з Elixir та Erlang). давно не мав такого фану при вирішенні завдань.
просто не думають, що є і інші світи.
Тут трохи не згодний. Книжки про тестування описують універсальні рішення без привʼязки до якихось деталей проекту. Я не бачив книжок на кшталт «Автоматизація тестування CRUD» чи «Unit-тестування вбудованих рішень».
Якщо контролери-сервіси-даошки мають однорядочкові методи, котрі просто викликають одне одного і перетягують дані з бази на UI — тоді так, змісту з юніт-тестів небагато.
Якщо в мене всередині сервісу є ще чотири сервіси, я замокав усі чотири, а в самому тесті перевіряю, що метод вертає те, що вертає четвертий мок в порядку — то я успішно перевірив моє знання Mockito, але аж ніяк не бізнес-логіку.
Ключова фіча моків — це можливість перевірки взаємодії/інтеракції з об’єктом.
Так, але, на жаль, часто моки використовують там, де їх використовувати не треба. Цитуючи вас же ж:
Просте правило: ми мокаємо залежності юніта, який ми тестуємо.
У порядку дискусії скажу, що цикломатична складність більш важлива, ніж проста кількість рядків. Про «майже ніколи» — да, але це не має перетворитись в «ніколи», і не має бути самодостатнім принципом.
Фаулер може писати що завгодно, але, наприклад, пітонівський unittest.mock універсально виконує і mock, і stub, і dummy, і фактично навіть ближче до stub (бо на невідомі виклики не дає винятків).
Ну як завжди, www.joelonsoftware.com/2002/05/06/five-worlds
Ті хто сидить на «внутрішньому» софті — навіть якщо він в 2024 виглядає як перший бекенд веба, який далі є фронтендом для якогось мікросервіса — просто не думають, що є і інші світи.
тю... отепер все стало ясно ))) таке питання ...а з якого неба ви притягнули за вуха в тему яка почалася з мого «обурення» на пост в топіку про мобільні станції
зе один костиль замість того щоб зібрати нормальну систему ) на гібриднику за 8 квт ) за...
Коментарі