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.
See our extensive reference, guides, and cookbook in the factory_bot book.
For information on integrations with third party libraries, such as RSpec or Rails, see the factory_bot wiki.
We also have a detailed introductory video, available for free on Upcase.
bundle add factory_bot
To install the gem manually from your shell, run:
gem install factory_bot
Supported Ruby versions
Supported Ruby versions are listed in
- FactoryTrace - helps to find unused factories and traits.
Please see CONTRIBUTING.md.
factory_bot was originally written by Joe Ferris and is maintained by thoughtbot. Many improvements and bugfixes were contributed by the open source community.
factory_bot is Copyright © 2008-2022 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.