首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails RSpec中未定义的方法“`create”

Rails RSpec中未定义的方法“`create”
EN

Stack Overflow用户
提问于 2015-11-20 22:44:00
回答 3查看 11.4K关注 0票数 19

我已经安装了FactoryBot,并尝试在RSpec中使用它。

代码语言:javascript
运行
复制
scenario 'User signs in' do
  create :user, email: 'test@example.com', password: 'testpassword'
  visit '/users/sign_in'

  fill_in 'Email', with: 'test@example.com'
  fill_in 'Password', with: 'testpassword'
end

我得到了下面的错误。

代码语言:javascript
运行
复制
Failure/Error: create :user, email: 'test@example.com', password: 'testpassword'
 NoMethodError:
   undefined method `create' for #<RSpec::ExampleGroups::UserSignIn:0x007fe6324816b8>
EN

回答 3

Stack Overflow用户

发布于 2017-06-11 05:51:02

我们可以在factory_bot's documentation中找到解决方案

1)创建文件/spec/support/factory_bot.rb

代码语言:javascript
运行
复制
RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
end

2)编辑/spec/rails_helper.rb加载support目录中的所有文件:

代码语言:javascript
运行
复制
Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
票数 32
EN

Stack Overflow用户

发布于 2016-10-02 17:19:25

在我的例子中,我错过了rails_helper.rb中的config.include FactoryGirl::Syntax::Methods

票数 14
EN

Stack Overflow用户

发布于 2021-05-20 22:53:28

转到/spec/rails_helper.rb并搜索DirRails.root.join('spec','support','**','*.rb').sort.each { |f| require f}并取消注释它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33829440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档