Я строю вызов API POST, который включает в себя данные, которые будут отправлены в вызове. Одна часть этих данных является TRANSACTION_ID, которые я создаю, используя следующий код:Тестирование случайной транзакции_ид в RSpec
transaction_id = Digest::SHA1.hexdigest([Time.now, rand].join)[0..10].to_i(16).to_s(10)
Я также использую RSpec 2.12.2, которая не имеет allow
определен, так что я не могу что-то вроде
allow(Digest::SHA1).to receive(:hexdigest).and_return("transaction_id")
Как я могу издеваться над транзакцией в RSpec? Я могу заморозить время, но наличие rand в [Time.now, rand]
возвращает разные результаты, даже если время заморожено.
Digest :: SHA1.stub (: hexdigest) .and_return (TRANSACTION_ID) –
Это возвращает: 'не определен метод«окурка 'for Digest :: SHA1: Class' – rainslg
OOps try: Digest :: SHA1.any_instance.stub (: hexdigest) .and_return (transaction_id) –