分配后无法获取用户密码 - RSpec

Cannot reach the password of the user after assigning it - RSpec

我正在尝试编写系统测试。我想运行一个经典的登录页面测试。 我有一个用于电子邮件、密码和提交按钮的字段。

它在生产环境中工作并且没有任何问题。

我的测试文件是这样的:


it "can login" do
      user = User.create(email: 'mail@mail.com', password: 'password', role:1, name: 'test user')
      user.save!

      visit '/'
      fill_in(:user_email, with: user.email)
      fill_in(:user_password, with: 'password')

      find(:button, 'Sign in').click
      expect(page).to have_content('Signed in.')
    end

每当我尝试创建用户并尝试在系统测试中使用它时,它都不起作用。它正在访问页面,填写位置并按应有的方式单击按钮,但它无法登录,给出电子邮件或密码不正确的错误。

我认为密码加密有问题,或者我无法正确匹配密码。 我在测试用例中创建后打印出了用户,我有一个有效的用户,但不知何故我无法获得它的密码。我检查了模型,没有 'password' 字段。 (我正在做一个公司项目,这就是为什么我很难找到问题的原因) 我可以使用 user.password = ... 分配密码,但我似乎无法回调它。 (我在 rails 控制台试过这个,分配有效,回调没有,我可以使用用户名和密码手动登录)

编辑: 我发现问题是数据库匹配。我可以创建用户,但测试未使用该用户...

我发现了问题。这是因为数据交易。我更改了它的截断以进行系统测试并且它有效!它基本上是在使用之前刷新所有数据。这就是我出错的原因。