Ruby on rails 用rspec生成测试密钥
我正在Rails应用程序中生成密钥Ruby on rails 用rspec生成测试密钥,ruby-on-rails,rspec,Ruby On Rails,Rspec,我正在Rails应用程序中生成密钥 键是在self.generate(无参数)方法中的key类中生成的。我可以很容易地实现该方法,但是如何在rspec中测试我的方法是否尝试在我的数据库中已经存在密钥的情况下重新生成密钥?您可以尝试存根在第一次调用后返回密钥并取消存根的方法: it 'generates a second key if the first one is not unique' do Key.create uid: "be81ed3a9c3a" SecureRando
键是在
self.generate
(无参数)方法中的key
类中生成的。我可以很容易地实现该方法,但是如何在rspec
中测试我的方法是否尝试在我的数据库中已经存在密钥的情况下重新生成密钥?您可以尝试存根
在第一次调用后返回密钥并取消存根
的方法:
it 'generates a second key if the first one is not unique' do
Key.create uid: "be81ed3a9c3a"
SecureRandom.stub(:hex).with(6) {
SecureRandom.unstub(:hex)
"be81ed3a9c3a"
}
expect(Key.generate.uid).not_to eq("be81ed3a9c3a")
end