hummingbird
@hummingbird

Обязательно ли использование тестов в Rails?

Заранее приношу извинение, если вопрос дебильный и сам я по-вашему мнению дебил :)

  • Rails предлагает писать тесты очень просто. Когда вы создаете свои модели и контроллеры, он начинает создавать скелет тестового кода.
  • Простой запуск тестов Rails позволяет убедиться, что ваш код придерживается нужной функциональности даже после большой переделки кода.
  • Тесты Rails также могут симулировать запросы браузера, таким образом, можно тестировать отклик своего приложения без необходимости тестирования с использованием браузера.


Я на полном серьезе на текущем этапе своего существования не вижу смысла в написании тестов. Я прекрасно осознаю что пишу в моделях, а работу экшенов контроллеров я успешно тестирую через браузер.

Этим вопросом я прошу профессионалов, да и просто знающих людей, натолкнуть меня на путь истинный, если все же написание тестов необходимо. Объясните мне, пожалуйста, их основные преимущества. На текущий момент мне реально удобней дебажить в браузере...

P.S. Пожалуйста, отнеситесь с пониманием :)
  • Вопрос задан
  • 355 просмотров
Пригласить эксперта
Ответы на вопрос 4
Freika
@Freika
Senior Ruby on Rails developer
Сейчас ты все понимаешь, а через 3 месяца, когда контроллеров будет не 5, а 20, моделей не 8, а 35, код начнет ломаться в самых неожиданных местах. И в обнаружении причин как раз помогут трудолюбиво и бережно написанные тесты. Так что пиши, не ленись.
Ответ написан
inf
@inf
DevOps Engineer
Обязательно если нужно быстро выдавать работоспособный продукт. Даже если 10 контролеров по 7 экшенов уже минимум 70 действий для проверки. А обычно ещё по 2-3 проверки надо сделать. Это всё прожать в браузере? Или потом клиенту говорить: "ой упало, мы сейчас исправим".
В общем от задачи зависит. Что надо получить на выходе и какого качества.
Ответ написан
Комментировать
mukizu
@mukizu
Во-первых тесты бывают разные - тестируют и работу кода и логику, итд.
Во-вторых тесты пишут не только для того, чтобы проверить работоспособность, но и для того, чтобы команде не приходилось потом ваш код потом изучать от корки до корки.

Пока работаешь один - это не заметно, как только проект растет, становится сложнее по всем направлениям, растет команда - сразу приходит понимание, что без внятной документации и тестов дальше паровозик не поедет.

Ну и экономия времени. Пока у вас небольшое приложение - вы можете, конечно, и ручками все протестить, но как только проект начинает развиваться - таких мест для тестирования становится многократно больше и тестировать все это руками попросту глупо - уйдет море времени, вдобавок повышается риск что-то упустить (тупо человеческий фактор).

В конце концов тесты - это неплохой способ взглянуть на код под другим углом. Нередко бывает, что во время написания теста или просто его прогона - приходит понимание, что код хоть и работает правильно, но медленно, или реализация убога или еще что-то вылезет. Считайте, что это такая функция самоконтроля.
Ответ написан
@CapeRatel
Руби код без тестов - бомба замедленного действия @ какой то сеньор, не помню
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы