要测试我的Rails / Devise应用程序,我想创建100个用户并以其身份登录。
我尝试了以下内容:
INSERT INTO users (id,email,encrypted_password)
VALUES (11,"test1@example.com",
"$2a$10$VQJ9lT78.e1dtyAnkng1/ey9euL6hK/kUNQMDv8VJMAovXpuVNDZG");
对于encrypted_password
,我刚刚复制了密码为testtest
的其他用户的值
问题:我无法使用密码test1@example.com
testtest
身份登录
我怀疑encrypted_password
有盐,我需要一个工具来生成它。 config.encryptor
是bcrypt
。我安装了bcrypt(Linux),但是手册页非常简短,只解释了如何加密文件,所以我想这不是最方便的加密密码的工具。
如何快速创建100个盐渍密码?
比注册100倍更快。
答案 0 :(得分:5)
从测试中制作u = User.create(:email => 'youruser@mail.com', :password => 'testtest', :password_confirmation => 'testtest')
然后u.confirm!
(如果您使用的是可确认模块)应该正确地为用户生成encrypted_password。
无论如何,你应该考虑使用灯具或蓝图进行测试。