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.
Transitioning from factory_girl?
Check out the guide.
You should find the documentation for your version of factory_bot on Rubygems.
Add the following line to Gemfile:
bundle install from your shell.
To install the gem manually from your shell, run:
gem install factory_bot
Supported Ruby versions
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 220.127.116.11+ 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, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.