我正在尝试安装factory_bot_rails以与rspec一起使用。
我正在通过 RSpec 测试驱动开发的实用方法进行日常 Rails 测试,作者:Aaron Sumner,http://leanpub.com/everydayrailsrspec,于 2024 年 10 月 10 日发布。
我能够在从本书的 github 站点下载的克隆存储库上安装factory_bot_rails。 但是,当我尝试在我正在工作的存储库上使用它时,我无法安装它。
这是我尝试过的:
$ bundle add factory_bot_rails
$ bundle install
$ rspec
我收到以下部分错误消息:
An error occurred while loading ./spec/models/book_spec.rb.
Failure/Error: require_relative '../config/environment'
我的仓库中有一个“书”的模型。
我也尝试过
$ rails generate factory_bot:model book
并且得到了部分:
/home/jajames/.rvm/gems/ruby-2.7.2@pda/gems/factory_bot-6.4.5/lib/factory_bot/evaluator.rb:80: syntax error, unexpected end-of-input, expecting `end'
还尝试过:
$ gem install factory_bot_rails
$ bundle install
$ rspec
https://github.com/thoughtbot/factory_bot_rails 同样的错误消息。
在 Gemfile 中:
group :development, :test do
gem 'rspec-rails', '~> 6.0.0'
gem 'factory_bot_rails'
end
https://github.com/thoughtbot/factory_bot_rails
我都尝试过
$ factory_bot – version
$ factory_bot_rails –version
并得到“factory_bot_rails:找不到命令”
我需要做哪些不同的事情来安装这个?
我在 Windows 10 Enterprise、Rails 7.0.3、RSpec 3.12、Ruby 2.7.2p137(2020-10-01 修订版 5445e04352)上使用 Ubuntu 22.04.5 [x86_64-linux]
在gemfile中添加
group :test do
gem 'factory_bot_rails', '~> 6.4'
gem 'rspec-rails', '~> 7.0'
end
在config/application.rb中
config.generators.system_tests = nil
config.generators do |g|
g.test_framework :rspec, fixtures: true, views: false, view_specs: false, helper_specs: false, routing_specs: false, controller_specs: false, request_specs: false
g.fixture_replacement :factory_bot, dir: 'spec/factories'
g.stylesheets false
g.javascripts false
g.helper false
end
然后运行
bundle install
在spec/rails_helper.rb中添加
require 'rspec/rails'
require 'factory_bot_rails'
RSpec.configure do |config|
config.include FactoryBot::Syntax::Methods
end
工厂示例(用户是另一家工厂)
FactoryBot.define do
factory :company do
sequence(:name) { |i| "My company #{i}" }
user
end
end