0
我在Rails應用程序中生成密鑰。使用rspec生成測試密鑰
在self.generate
(無參數)方法中生成Key
類中的密鑰。我可以輕鬆實現該方法,但如何在rspec
中測試我的方法是否嘗試重新生成密鑰(如果該密鑰已存在於我的數據庫中)?
我在Rails應用程序中生成密鑰。使用rspec生成測試密鑰
在self.generate
(無參數)方法中生成Key
類中的密鑰。我可以輕鬆實現該方法,但如何在rspec
中測試我的方法是否嘗試重新生成密鑰(如果該密鑰已存在於我的數據庫中)?
你可以嘗試stub
返回你的第一個電話後的一個關鍵和unstub
的方法:
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