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 5b31b56d65 Remove warning about setter methods
This warning made sense when we had static attributes, since
somebody might try to write something like:

```rb
factory :composer do
  self.name = "Daniel"
end
```

That would create a static declaration when the factory was defined,
then raise the error about avoiding writers when the factory was run.

Now this code will raise a NoMethodError right away when the factory is
being defined.
2018-09-28 16:59:48 -04:00
features Autocorrect all static attributes to dynamic 2018-09-14 19:27:13 +00:00
gemfiles Update Appraisal Gemfile locks 2018-09-18 02:18:46 +00:00
lib Remove warning about setter methods 2018-09-28 16:59:48 -04:00
spec Remove warning about setter methods 2018-09-28 16:59:48 -04:00
.autotest Remove whitespace [Gun.io WhitespaceBot] 2011-10-21 13:40:41 -04:00
.gitignore Add rubocop 2018-09-18 22:58:56 -04:00
.rspec Remove unnecessary spec_helper requires 2018-05-21 18:03:28 +01:00
.rubocop.yml Avoid running RuboCop on tmp files 2018-09-27 21:43:33 -04:00
.simplecov Clean up SimpleCov usage 2012-04-23 21:50:39 -05:00
.travis.yml WIP for 5.0: Don't test against old versions of Ruby and Rails 2018-09-08 01:49:42 +00:00
.yardopts Fix missing docs (#1172) 2018-09-03 13:27:53 +00:00
Appraisals WIP for 5.0: Don't test against old versions of Ruby and Rails 2018-09-08 01:49:42 +00:00
CODE_OF_CONDUCT.md Add standard thoughtbot CODE_OF_CONDUCT.md 2018-09-07 22:11:26 -04:00
CONTRIBUTING.md Replace 'girl' with 'bot' everywhere (#1051) 2017-10-20 15:20:28 -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 Fix missing docs (#1172) 2018-09-03 13:27:53 +00:00
Gemfile Add rubocop 2018-09-18 22:58:56 -04:00
Gemfile.lock Add rubocop 2018-09-18 22:58:56 -04:00
GETTING_STARTED.md Remove out-of-date version numbers from guide 2018-09-17 21:43:01 -04:00
LICENSE Update copyright year 2017-09-28 08:23:29 -04:00
NAME.md Update naming history explanation 2017-10-24 14:17:02 -04:00
NEWS Bump version to 4.11.1 [ci skip] 2018-09-07 15:58:10 -04:00
Rakefile Fix assorted RuboCop spacing volations (#1203) 2018-09-27 21:35:05 -04:00
README.md WIP for 5.0: Don't test against old versions of Ruby and Rails 2018-09-08 01:49:42 +00:00
RELEASING.md Bump version to 4.11 [ci-skip] 2018-08-15 10:56:09 -04:00

factory_bot Build Status Code Climate Gem Version Reviewed by Hound

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

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 5.x series supports MRI Ruby 2.3+.

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

You may also find useful information under the factory_girl tag on Stack Overflow.

Contributing

Please see 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.

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 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.