モデルの 1 つに、ランダムな行を返すメソッドがあります
Intention.offset(rand(Intention.count)).first
正常に動作しますが、Rspec でテストするにはどうすればよいですか?
モデルの 1 つに、ランダムな行を返すメソッドがあります
Intention.offset(rand(Intention.count)).first
正常に動作しますが、Rspec でテストするにはどうすればよいですか?
コードでこれを行うことができます:
Kernel.rand(Intention.count)
そしてあなたの仕様では:
let(:intention_count) { 3 }
Intention.stub(:count).and_return(intention_count)
Kernel.stub(:rand).with(intention_count).and_return(0) # will return 0
Kernel
基本的に、クラスを使用して rand を呼び出し、stub
そのメソッドが必要なものを返すことができるようにします。