factory_bot is a fixtures replacement with a straightforward definition syntax, support for multiple build strategies (saved instances, unsaved instances, attribute hashes, and stubbed objects), and support for multiple factories for the same class (user, admin_user, and so on), including factory inheritance.
If you want to use factory_bot with Rails, see factory_bot_rails.
Interested in the history of the project name?
Check out the guide.
You should find the documentation for your version of factory_bot on Rubygems.
See GETTING_STARTED for information on defining and using factories. We also have a detailed introductory video, available for free on Upcase.
Add the following line to Gemfile:
gem 'factory_bot'
and run bundle install
from your shell.
To install the gem manually from your shell, run:
gem install factory_bot
The factory_bot 5.x series supports MRI Ruby 2.3+.
The factory_bot 3.x+ series supports MRI Ruby 1.9. Additionally, factory_bot 3.6+ supports JRuby 1.6.7.2+ while running in 1.9 mode. See GETTING_STARTED for more information on configuring the JRuby environment.
For versions of Ruby prior to 1.9, please use factory_bot 2.x.
- FactoryTrace - helps to find unused factories and traits.
Please see CONTRIBUTING.md.
factory_bot was originally written by Joe Ferris and is now maintained by Josh Clayton. Many improvements and bugfixes were contributed by the open source community.
factory_bot is Copyright © 2008-2019 Joe Ferris and thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.
factory_bot is maintained and funded by thoughtbot 60CF , inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.
We love open source software! See our other projects or hire us to design, develop, and grow your product.