2013-07-20 5 views
1

Я большой поклонник FactoryGirl, но никогда не понимал метод «.build_stubbed» и хотел бы включить stubbing/mocking в мой TDD. Может ли кто-нибудь помочь мне с основами того, что я делаю с FactoryGirl? Должен ли я использовать Mocha или другой подобный GEM для обработки насмешек/stubbing или любой из них включен в MiniTest по умолчанию Rails 4?Ступление с FactoryGirl, MiniTest и Rails 4

ответ

3

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

Это означает, что команда не должна много делать с укусом или насмешкой.

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

Для гася команду (например, объекта Person)

person = Person.new 
    person.stubs(:name).returns('Robert') 

obove пример создает экземпляр человека и stubbes из имени метода всегда возвращает «Роберт».

Для насмешливых той же команды

person = Person.new 
    person.expects(:name).returns('Robert') 

выше делает то же самое, как гася методом. С той лишь разницей, что в настоящее время тест завершается с ошибкой, если имя метода не вызывается ровно один раз.

Смежные вопросы