Какой драгоценный камень для соответствия RSpec я должен использовать с Mongoid? - PullRequest
5 голосов
/ 04 марта 2011

Кажется, есть два драгоценных камня, которые предоставляют средства соответствия RSpec для использования с Mongoid.

Какой выбор лучше и почему?

Mongoid-Rspec
Самоцвет mvanoid-rspec Эвана Сагге предоставляет совпадения RSpec для Mongoid. Включает сопоставления для ассоциаций, параметров, проверок и полей.
http://github.com/evansagge/mongoid-rspec

ЗНАМЕНАТЕЛЬНОЕ-Mongoid
Замечательный монгоидный драгоценный камень Брайана Кардареллы обеспечивает соответствия RSpec для Mongoid. Он содержит сопоставления только для Mongoid, а также все сопоставления проверки изRemarkable :: ActiveModel.
http://github.com/bcardarella/remarkable_mongoid

Ответы [ 2 ]

12 голосов
/ 04 марта 2011

Лично я не думаю, что вы должны использовать либо.Укажите поведение , которое вы ожидаете от своего кода, а не реализацию , и ваши спецификации будут гораздо более значимыми.

Что произойдет, если вы решите перейти с Mongoid наMongoMapper?Или вернуться к ActiveRecord?Вы должны выбросить большую часть вашего набора тестов и переписать его.

Все, что делают эти библиотеки, - это направляют вас на тестирование на основе разработки, которое является полной противоположностью BDD / TDD.

9 голосов
/ 04 марта 2011
Преимущество

замечательного монгоида - это, к сожалению, и его недостаток.Идея заключалась в том, чтобы использовать сопоставители Remarkable ActiveModel для валидаторов.Для этого требуется альфа-версия Remarkable 4.0.Хотя Remarkable - это библиотека очень высокого качества, с июня прошлого года ее тоже не трогали.Это огромная проблема с моей библиотекой, главная зависимость не покидала альфа более 8 месяцев!Я пропинговал нескольких разработчиков и не получил ответа ни от одного из них.

Что касается того, какая из двух библиотек лучше, быстрый взгляд на README, кажется, что у mongoid-rspec больше возможностей.Тем не менее, я никогда не использовал его и не могу рассказать о каком-либо опыте с ним.

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

Я предлагаю утвердить поведение в разных частях набора тестов.

...