0

我一直在绞尽脑汁想弄清楚这一点。我不知道为什么,但由于某种原因,我的密码摘要哈希不匹配。当我运行测试时,我收到此错误:

expected: password_digest: "$2a$04$cDKhuWzsZuW8Gm4t5fJjpu6rmbwh10ZAt2Yae.BO0iuD...">
got: password_digest:      "$2a$04$jwfHjoLI0RpDIAEr9SMKGOZqeH.J5ILOkzalKCYQdDW4...">

我应该注意到应用程序代码工作得很好。我可以调用创建用户并在控制台中使用 user.authenticate('foobar') 对其进行身份验证,它会按预期工作。我已经多次删除并重做我的数据库,结果相同。

这是我的测试:https ://gist.github.com/DavidVII/f190d1f1e114234bb7d7#file-user_spec-rb-L107

失败的部分是第 107 行。我将 bcrypt 与has_secure_password.

我对测试真的很陌生,并且非常感谢有关如何通过此测试的一些细节。

我的密码哈希每次都会重新创建,我不知道如何让它停止。

任何帮助将非常感激。

谢谢!

4

1 回答 1

0

事实证明,每次运行都会生成@user。我安装了 database_cleaner gem,现在我可以很好地工作了。

于 2013-05-20T02:22:03.120 回答