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.
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.
Run:
bundle add factory_bot
To install the gem manually from your shell, run:
gem install factory_bot
Supported Ruby versions are listed in .github/workflows/build.yml
- 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 Joe Ferris and thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.
This repo is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.
We love open source software! See our other projects. We are available for hire.