1
0
Fork 0
mirror of https://github.com/thoughtbot/factory_bot.git synced 2022-11-09 11:43:51 -05:00
A library for setting up Ruby objects as test data.
Find a file
Daniel Colson 9879060289
Improve documentation for collection associations (#1420)
* Improve documentation for collection associations

This commit makes `Evaluator#association` and `Evaluator#instance`
officially part of the public API of factory\_bot. Folks were already
using these methods, and all of the examples here were inspired by
examples in the various issues mentioned below.

This commit also adds and updates some tests to match the examples in
the documentation, to ensure that these examples will continue to work
as expected.

Closes #1268 by adding documentation for both `Evaluator#association`
and `Evaluator#instance`. The documentation on interconnected
associations is also relevant to #1063, #1255, and #1309.

Closes #1304 by providing multiple alternative approaches to creating
collection associations, and adding a note about reloading the record in
the callback example. This had also come up back in #549.

Closes #458 by offering `Evaluator#association` as a more flexible way
to build collection associations. This has come up many times over the
years in many different forms, including #426, #487, #640, #1022, #1150,
and #1360.
2020-07-09 12:26:23 -04:00
.github Bump version for the reproduction script [ci skip] 2020-06-24 11:20:12 -04:00
features Run standardrb 2020-06-10 17:11:39 -04:00
gemfiles Bump version to 6.1.0 [ci skip] 2020-07-08 12:55:33 -04:00
lib Bump version to 6.1.0 [ci skip] 2020-07-08 12:55:33 -04:00
spec Improve documentation for collection associations (#1420) 2020-07-09 12:26:23 -04:00
.gitignore Run travis against Rails master (#1388) 2020-04-29 19:09:11 -04:00
.hound.yml Ask Hound to use custom .rubocop.yml 2018-10-07 17:45:13 -04:00
.rspec Remove unnecessary spec_helper requires 2018-05-21 18:03:28 +01:00
.simplecov Clean up SimpleCov usage 2012-04-23 21:50:39 -05:00
.travis.yml Prepare for factory_bot 6 2020-05-01 17:43:10 -04:00
.yardopts Fix missing docs (#1172) 2018-09-03 13:27:53 +00:00
Appraisals Prepare for factory_bot 6 2020-05-01 17:43:10 -04:00
CODE_OF_CONDUCT.md Add standard thoughtbot CODE_OF_CONDUCT.md 2018-09-07 22:11:26 -04:00
CONTRIBUTING.md Add instructions for running tests [ci skip] 2020-06-10 17:12:31 -04:00
cucumber.yml Fixed issues with some attributes being skipped and added support for linked associations in step definitions 2009-09-15 16:56:20 -04:00
factory_bot.gemspec Remove changlog_uri from gemspec [ci skip] 2020-06-10 23:20:06 -04:00
Gemfile Get default strategy registration working on JRuby 2019-10-02 18:56:58 -04:00
Gemfile.lock Bump version to 6.1.0 [ci skip] 2020-07-08 12:55:33 -04:00
GETTING_STARTED.md Improve documentation for collection associations (#1420) 2020-07-09 12:26:23 -04:00
LICENSE Update copyright notice to 2019 [ci skip] 2019-02-08 14:04:54 -05:00
NAME.md Update naming history explanation 2017-10-24 14:17:02 -04:00
NEWS.md Bump version to 6.1.0 [ci skip] 2020-07-08 12:55:33 -04:00
Rakefile Run standard on CI 2020-06-10 17:11:39 -04:00
README.md Simplify list of supported Ruby versions [ci skip] 2020-06-20 00:32:48 -04:00
RELEASING.md Bump version to v6.0.2 [ci skip] 2020-06-19 23:50:07 -04:00

factory_bot Build Status Code Climate Gem Version

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?

Transitioning from factory_girl?

Check out the guide.

Documentation

You should find the documentation for your version of factory_bot on Rubygems.

See GETTING_STARTED for information on defining and using factories. We also have a detailed introductory video, available for free on Upcase.

Install

Add the following line to Gemfile:

gem 'factory_bot'

and run bundle install from your shell.

To install the gem manually from your shell, run:

gem install factory_bot

Supported Ruby versions

Supported Ruby versions are listed in .travis.yml

More Information

Useful Tools

Contributing

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.

License

factory_bot is Copyright © 2008-2020 Joe Ferris and thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About thoughtbot

thoughtbot

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 or hire us to design, develop, and grow your product.