我在这里遗漏了一些东西,但我似乎无法找到问题所在。这个测试非常简单,它应该会失败,但它总是会通过。它正在创建一个具有不匹配密码的用户。
我的用户模型中有这个。所以我知道:设置了validatable。
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
当我使用控制台手动测试时,它可以正常工作。它不会让我保存错误匹配的密码
以下是单元测试:
user = User.new_normal_user(
:email => 'some@email.com',
:password => 'some_password',
:password_confirmation => 'some_other_password'
)
assert user.save
但是出于某些奇怪的原因,在运行单元测试时,它会保存,而不应该。我很难过。我无法弄清楚这一点。
答案 0 :(得分:0)
我已经解决了这个问题。我覆盖了password_required?功能。只有在某些条件下它才会返回虚假的地方。它永远不会真实。所以我只是在它应该返回true或false时,单元测试按预期工作并且捕获密码不匹配问题。