分配后无法获取用户密码 - 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 控制台试过这个,分配有效,回调没有,我可以使用用户名和密码手动登录)
编辑:
我发现问题是数据库匹配。我可以创建用户,但测试未使用该用户...
我发现了问题。这是因为数据交易。我更改了它的截断以进行系统测试并且它有效!它基本上是在使用之前刷新所有数据。这就是我出错的原因。
我正在尝试编写系统测试。我想运行一个经典的登录页面测试。 我有一个用于电子邮件、密码和提交按钮的字段。
它在生产环境中工作并且没有任何问题。
我的测试文件是这样的:
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 控制台试过这个,分配有效,回调没有,我可以使用用户名和密码手动登录)
编辑: 我发现问题是数据库匹配。我可以创建用户,但测试未使用该用户...
我发现了问题。这是因为数据交易。我更改了它的截断以进行系统测试并且它有效!它基本上是在使用之前刷新所有数据。这就是我出错的原因。