thoughtbot--factory_bot/README.md

107 lines
3.8 KiB
Markdown

# factory_bot [![Build Status](https://travis-ci.org/thoughtbot/factory_bot.svg)](http://travis-ci.org/thoughtbot/factory_bot?branch=master) [![Code Climate](https://codeclimate.com/github/thoughtbot/factory_bot/badges/gpa.svg)](https://codeclimate.com/github/thoughtbot/factory_bot)
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](https://github.com/thoughtbot/factory_bot_rails).
_[Interested in the history of the project name?](NAME.md)_
### Transitioning from factory\_girl?
Check out the [guide](https://github.com/thoughtbot/factory_bot/blob/4-9-0-stable/UPGRADE_FROM_FACTORY_GIRL.md).
Documentation
-------------
You should find the documentation for your version of factory_bot on [Rubygems](https://rubygems.org/gems/factory_bot).
See [GETTING_STARTED] for information on defining and using factories. We also
have [a detailed introductory video][], available for free on Upcase.
[a detailed introductory video]: https://upcase.com/videos/factory-girl?utm_source=github&utm_medium=open-source&utm_campaign=factory-girl
Install
--------
Add the following line to Gemfile:
```ruby
gem 'factory_bot'
```
and run `bundle install` from your shell.
To install the gem manually from your shell, run:
```shell
gem install factory_bot
```
**Caveat:** As of ActiveSupport 5.0 and above, Ruby 2.2.2+ is required. Because
of Rubygems' dependency resolution when installing gems, you may see an error
similar to:
```
$ gem install factory_bot
ERROR: Error installing factory_bot:
activesupport requires Ruby version >= 2.2.2.
```
To bypass this, install a pre-5.0 version of ActiveSupport before installing
manually.
Supported Ruby versions
-----------------------
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.
More Information
----------------
* [Rubygems](https://rubygems.org/gems/factory_bot)
* [Stack Overflow](http://stackoverflow.com/questions/tagged/factory-bot)
* [Issues](https://github.com/thoughtbot/factory_bot/issues)
* [GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS](http://robots.thoughtbot.com/)
You may also find useful information under the [factory_girl tag on Stack Overflow](http://stackoverflow.com/questions/tagged/factory-girl).
[GETTING_STARTED]: http://rubydoc.info/gems/factory_bot/file/GETTING_STARTED.md
Contributing
------------
Please see [CONTRIBUTING.md](https://github.com/thoughtbot/factory_bot/blob/master/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](https://github.com/thoughtbot/factory_bot/graphs/contributors).
License
-------
factory_bot is Copyright © 2008-2016 Joe Ferris and thoughtbot. It is free
software, and may be redistributed under the terms specified in the
[LICENSE](/LICENSE) file.
About thoughtbot
----------------
![thoughtbot](http://presskit.thoughtbot.com/images/thoughtbot-logo-for-readmes.svg)
factory_bot 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][community] or
[hire us][hire] to design, develop, and grow your product.
[community]: https://thoughtbot.com/community?utm_source=github
[hire]: https://thoughtbot.com/hire-us?utm_source=github