очень понимаю. Вот написал я тест. Дальше, если функция поменялась, мне надо тест менять.
Речь о приложении с 10-15 эндпоинтами. Есть смысл тесты писать? Если да, то зачем.
Не всякий а 1 раз. Ведь если поменялась функция, то и тест изменится.
вот именно в тот момент, когда поменялась функция - тесты и показывают свою полезность
Почему? Их же приходится менять.
А как ты проверишь корректность работы?
для начала, менять существующее API - дурной тон. тесты вам покажут, что вы делаете ерунду. второе, вы запросто можете поменять один обработчик, и поломать другой. без тесто вы об этом узнаете от пользователей третье - тесты заставляют программистов делать код лучше. например - не писать сильно вариативных параметров
Еще одна из самых важных функций тестов — проверить качество своего кода и найти косяки и слабые места. Лично у меня, регулярно возникает ситуация, когда уже написанный код переписывается, потому что при написании тестов нахожу баги. Постепенно перехожу на TDD. Ну и тестировать такие вещи, как работа с БД, тоже мало удовольствия руками.
Так изменения легче вносить потом. В моменте тесты не особо много дают. А вот когда нужно делать крупные изменения, ты начинаешь радоваться тому, что у тебя есть тесты
Тест же придётся менять. Дополнительная работа. Чему радоваться? Получается каждый раз новый тест пишешь.
Зависит от теста. Интеграционные могут вообще не меняться. Да, это дополнительная работа, но это и гарантии, что твой код вообще работает
Почему не меняются? Интеграционный тест - это как раз открыть сваггер и кинуть запрос. Только неавтоматический )
Это бред. Сваггер - это сваггер, никакого отношения к тестам он не имеет
Я знаю, что такое сваггер. Я пытаюсь понять, есть ли реальная панацея в тестах? Из реального опыта.
Не просто же так их люди пишут
Тесты не позволяют впринципе подойти к ситуации, когда они становятся спасением, потому что ещё на этапе ci пуллреквест вернётся в доработку (а в идеале, ещё при локальном запуске тестов станет ясно где ошибка). Не потребуется время команды на ревью сломанного кода, не потребуется тратить время на поиск логических ошибок. Так же, в процессе покрытия тестами отлично выявляются ошибки обработки граничных значений, обработка ошибок, которые на проде могут возникнуть раз в 100 лет
Обсуждают сегодня