Я определяю свои фабрики, используя factory_girl, вот так:
Factory.define :user do |u| u.name "blah" u.age 22 end
И они сохраняются в БД, это хорошая практика?
Это хорошая практика:
если вашим тестам нужен сохраненный объект
если вашим тестам не нужен постоянный объект, вы можете просто вызвать Factory.build
Factory.build
для очистки вашей базы данных между тестами, рассмотрите возможность использования DatabaseCleaner gem
DatabaseCleaner
другие альтернативы: Factory.stub и Factory.attributes_for
Factory.stub
Factory.attributes_for