@axelvagabund

Как лучше BDD'ить с Rspec'ом?

Утро доброе. Я новичок в рельсах, да и в вебе в целом, где-то год занимаюсь сие ремеслом из интереса, вдоволь наигравшись с вёрсткой и jquery-плагинами, решил всё-таки за что-нибудь более серьёзное взяться, вот и начал изучать рельсы.

И... Всё хорошо, мануалов и туториалов более чем достаточно, книги к тому же чудесные. Но я пока просто застрял на тестировании, а точнее bdd. Просто не представляю как и что именно писать в тесты, некоторые книги читал, презентации смотрел, но там описывается чаще всего сам функционал сие юнит-тестового фреймворка, как и что писать, более тактичное называние блоков describe/context/it. Книги гуглил, но нашёл лишь 1 более-менее по душе, да и то она 2010 года. Так что... Вся проблема в том, что просто не представляю что и как описывать, очевидно что в отдельных спеках отдельные куски кода (фьючи, модели, вью, контроллеры), но как именно, чтобы тест был полноценный, а не парочку незамысловатых строк про пустое поле, либо же редирект, если пользователь не имеет прав/не залогинен.

Опять же, прошу прощения за столь дилетанский вопрос. Но... Где можно узнать это, и... Если есть свои мысли/советы, буду рад их услышать.
  • Вопрос задан
  • 418 просмотров
Решения вопроса 1
Fahrenhe17
@Fahrenhe17
Ruby on Rails developer
Все, что написано ниже - сугубо субъективно и за чистую и единственную истину ни в коем случае воспринимать все не нужно.

1. Что тестировать?
Вопрос очень холиварный. Правда. Лично я делаю в бОльшем кол-ве integration tests, т.е. тестируется то, что видит пользователь. к тестам API это конечно не относится. Но так же тестирую более-менее сложные actions в контроллере. Так же я не тестирую простые валидации.
Вывод: Для начала лучше тестировать каждый байт трафика между пользователем и сервером. Просто что-бы привыкнуть к тестам. Что-бы написать тест занимало меньше времени, чем любой, самый простой кусок кода в приложении.

2. Название блоков.
Скажу двумя словами от себя и вот ресурс. Там где-то в начале об этом вроде говорится.
От себя - пишите названия так, что-бы при команде
rspec --format documentation
вам выводились более-менее связные предложения.

p.s. Очень рекомендую главу RSpec из этой книги.

Наверняка я ошибаюсь в чем-то и гуру рельсов меня поправят. Я буду только рад. :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы