TDD?BDD?Я не совсем понимаю!Что я должен использовать для тестирования и почему? - PullRequest
9 голосов
/ 28 января 2011

Так что да, я вхожу в это испытание!
Но я не знаю, что использовать = /

Rspec + Следует?
Rspec + Стейк?
Minitest
Огурцы
Капибара
Coulda? (Огурец со смесью горчицы)
Mini_shoulda? (Минитест с путаницей Должа)

Ммм, так много вариантов! Я в замешательстве <. <Я знаю, что хочу что-то маленькое и простое, чтобы протестировать мои будущие приложения с гемами, sinatra & rails. <strong>Что вы, люди, используете и почему ?

Ответы [ 5 ]

7 голосов
/ 28 января 2011

Если вы только начинаете, вы должны пойти по умолчанию и следовать официальным руководствам .Важно то, что вы практикуете тестирование.Менее важно, какую библиотеку / среду тестирования вы используете - это стилистический выбор, который вторичен фактически практике тестирования в первую очередь - и самый простой способ начать тестирование вашего приложения на Rails - это следовать "Золотому пути"«что выложены официальные руководства.

Как только вы освоитесь с тестированием вашего Rails-приложения, вы будете в гораздо лучшем положении для оценки возможных вариантов.Лично мне нравятся rspec и cucumber (на данный момент - я могу решить изменить свои предпочтения), но я смог придумать это предпочтение только после того, как уже был знаком с тестированием и уже знаком с Rails.

5 голосов
/ 28 января 2011

Я только что натолкнулся на это сообщение в блоге , в котором говорится:

Кажется, что общепринятым способом тестирования в Ruby является использование Rspec для модульных тестов и использование Cucumber для приемочных тестов (функциональное тестирование более высокого уровня).

Затем он спрашивает: «Если мы согласны с тем, что BDD хорош, почему бы нам не написать наши модульные тесты в формате, более подходящем для BDD, то есть в формате тестов Cucumber?» и сравнивает юнит-тесты rspec с юнит-тестами в Cucumber.

3 голосов
/ 28 января 2011

На работе мы используем довольно стандартную комбинацию RSpec и Cucumber. Я не знаю, как они определились с этой конкретной комбинацией, она уже была там, когда я начинал и работал на нас, поэтому не было необходимости менять. Кроме того, это довольно широко используемая комбинация, поэтому поиск примеров с помощью Google и т. Д. Не слишком сложен.

Для моих частных проектов на основе 1.9 я думаю, что теперь буду использовать Minitest. Нет внешних зависимостей, простой BDD DSL (require 'minitest/spec') и некоторые другие тонкости, такие как рандомизация. Вот хорошее быстрое вступление:

http://www.bootspring.com/2010/09/22/minitest-rubys-test-framework/

1 голос
/ 28 января 2011

Для тех, кто только начинает, я рекомендую использовать RSpec. Он не делает все, но позволит вам создать разумные наборы модульных и интеграционных тестов. Когда вы столкнетесь с тем, с чем легко справляется RSpec, пусть это поможет вам в выборе дополнительных инструментов.

0 голосов
/ 14 ноября 2011

Не могу предложить ничего более разумного, чем Справедливость, но прежде, чем вы проигнорируете эту мудрость :-), посмотрите это видео (автор minitest Райан Дэвис на конференции ruby ​​conf на Cascadia 2011):

http://confreaks.net/videos/618-cascadiaruby2011-size-doesn-t-matter

слайды: http://www.zenspider.com/~ryan/presentations/CascadiaRubyConf_2011_-_Size_Doesn%27t_Matter.pdf

Возможность выполнять все ваши тесты очень быстро - очень хорошая вещь.

...