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
Josh Clayton 1b81d5dc25
Fix strategy tracking through associations
What?
=====

Within FactoryBot::Evaluator, the build strategy was reported either as
a class OR symbol.

A side-effect of this is misreporting within
ActiveSupport::Notifications hooks, since the instrumentation payload
may have strategies listed as e.g. `:create` or
`FactoryBot::Strategy::Create`, even though they semantically represent
the same information.

This introduces a new instance method for all strategies, `to_sym`,
to be called rather than `class`.
2022-03-07 21:23:47 -05:00
.github Adjust GitHub Actions so linting occurs separately from test suite 2022-03-07 21:17:09 -05:00
features Run standardrb 2020-06-10 17:11:39 -04:00
gemfiles Add Ruby 3.1 and Rails 7 to CI (#1526) 2022-01-14 15:08:08 -05:00
lib Fix strategy tracking through associations 2022-03-07 21:23:47 -05:00
spec Fix strategy tracking through associations 2022-03-07 21:23:47 -05:00
.gitignore Run travis against Rails master (#1388) 2020-04-29 19:09:11 -04:00
.hound.yml
.rspec
.simplecov
.standard.yml Add Ruby 3.1 and Rails 7 to CI (#1526) 2022-01-14 15:08:08 -05:00
.yardopts
Appraisals Add Ruby 3.1 and Rails 7 to CI (#1526) 2022-01-14 15:08:08 -05:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Add setup instructions to contributing guide 2020-08-21 14:30:23 -04:00
cucumber.yml
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 Add Ruby 3.1 and Rails 7 to CI (#1526) 2022-01-14 15:08:08 -05:00
GETTING_STARTED.md Update GETTING_STARTED: include note about saving in create_list (#1522) 2022-01-14 15:10:54 -05:00
LICENSE
NAME.md
NEWS.md Bump version to 6.2.0 [ci skip] 2021-05-07 12:03:26 -04:00
Rakefile Adjust GitHub Actions so linting occurs separately from test suite 2022-03-07 21:17:09 -05:00
README.md Fix ci badge and workflows query link (#1486) 2021-04-16 09:58:29 -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 .github/workflows/build.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.