Rails测试错误怎么解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (42)

我是一个Rails新手,遵循Rails 5.1的Agile Rails Web Development教程。我正在使用rails 5.2

我创建了用户:

rails g scaffold User name:string password:digest
rails db:migrate


class User < ApplicationRecord
  validates :name, presence: true, uniqueness: true
  has_secure_password
end

所有用户测试都失败:

NameError: uninitialized constant ActiveRecord::FixtureSet::RenderContext::BCrypt
test/fixtures/users.yml:5:in `get_binding'

这是fixtures文件:

# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html

one:
  name: dave
  password_digest: <%= BCrypt::Password.create('secret') %>

two:
  name: susannah
  password_digest: <%= BCrypt::Password.create('secret') %>

我不知道如何调试这个。

如果我放入require 'bcrypt'test_helper,我会得到:

'require': cannot load such file -- bcrypt (LoadError

提问于
用户回答回答于

好像BcryptGEM未安装。试着跑bundle install然后再运行测试。

扫码关注云+社区

领取腾讯云代金券