2012-11-30 16:55:44 -05:00
|
|
|
factory_girl [![Build Status](https://secure.travis-ci.org/thoughtbot/factory_girl_rails.png)](http://travis-ci.org/thoughtbot/factory_girl_rails?branch=master)
|
2011-01-19 13:27:57 -05:00
|
|
|
============
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2013-02-08 15:27:10 -05:00
|
|
|
`factory_girl` is a fixtures replacement with a straightforward definition
|
2010-06-09 11:42:48 -04:00
|
|
|
syntax, support for multiple build strategies (saved instances, unsaved
|
|
|
|
instances, attribute hashes, and stubbed objects), and support for multiple
|
2013-02-08 15:27:10 -05:00
|
|
|
factories for the same class (`user`, `admin_user`, and so on), including factory
|
2010-06-09 11:42:48 -04:00
|
|
|
inheritance.
|
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
Rails
|
|
|
|
-----
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2013-02-08 15:27:10 -05:00
|
|
|
`factory_girl_rails` provides Rails integration for `factory_girl`. All
|
2010-06-09 11:42:48 -04:00
|
|
|
Rails-specific features are only compatible with Rails 3.
|
|
|
|
|
2011-07-28 09:46:06 -04:00
|
|
|
Currently, automatic factory definition loading is the only Rails-specific feature.
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
Download
|
|
|
|
--------
|
2010-06-09 11:42:48 -04:00
|
|
|
|
|
|
|
Github: http://github.com/thoughtbot/factory_girl_rails/tree/master
|
|
|
|
|
|
|
|
Gem:
|
2011-07-28 09:46:06 -04:00
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
gem install factory_girl_rails
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
Configuration
|
|
|
|
-------------
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2013-02-08 15:27:10 -05:00
|
|
|
Add `factory_girl_rails` to your Gemfile:
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
gem 'factory_girl_rails'
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2013-02-19 10:41:54 -05:00
|
|
|
Generators for factories will automatically substitute fixture (and maybe any other
|
|
|
|
`fixture_replacement` you set). If you want disable this feature, add the
|
|
|
|
following to your application.rb file:
|
2012-11-29 05:46:29 -05:00
|
|
|
|
|
|
|
config.generators do |g|
|
2013-02-19 10:41:54 -05:00
|
|
|
g.factory_girl false
|
|
|
|
end
|
|
|
|
|
|
|
|
Default factories directory is `test/factories`, or `spec/factories` if
|
|
|
|
`test_framework` generator is set to `:rspec`; change this behavior with:
|
|
|
|
|
|
|
|
config.generators do |g|
|
|
|
|
g.factory_girl dir: 'custom/dir/for/factories'
|
2012-11-29 05:46:29 -05:00
|
|
|
end
|
|
|
|
|
2013-02-08 15:27:10 -05:00
|
|
|
If you use `factory_girl` for fixture replacement, ensure that
|
|
|
|
`factory_girl_rails` is available in the development group. If it's not, Rails
|
|
|
|
will generate standard yml files instead of factory files.
|
|
|
|
|
2013-02-19 10:41:54 -05:00
|
|
|
`factory_girl` takes an option `suffix: 'some_suffix'`
|
2012-11-29 05:46:29 -05:00
|
|
|
to generate factories as "modelname_some_suffix.rb"
|
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
More Information
|
|
|
|
----------------
|
2010-06-09 11:42:48 -04:00
|
|
|
|
|
|
|
factory_girl: http://github.com/thoughtbot/factory_girl/tree/master
|
|
|
|
|
2011-07-28 09:46:06 -04:00
|
|
|
|
2011-07-22 17:12:50 -04:00
|
|
|
Contributing
|
|
|
|
------------
|
|
|
|
|
|
|
|
Please see CONTRIBUTING.md for details.
|
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
Credits
|
|
|
|
-------
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2011-07-28 09:46:06 -04:00
|
|
|
factory_girl was originally written by Joe Ferris.
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
|
2010-06-09 11:42:48 -04:00
|
|
|
|
2011-01-19 13:27:57 -05:00
|
|
|
factory_girl is maintained and funded by [thoughtbot, inc](http://thoughtbot.com/community)
|
|
|
|
|
|
|
|
The names and logos for thoughtbot are trademarks of thoughtbot, inc.
|
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
2013-01-04 11:14:31 -05:00
|
|
|
factory_girl is Copyright © 2008-2013 Joe Ferris and thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.
|