0

モデルの 1 つに、ランダムな行を返すメソッドがあります

Intention.offset(rand(Intention.count)).first

正常に動作しますが、Rspec でテストするにはどうすればよいですか?

4

1 に答える 1

1

コードでこれを行うことができます:

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そのメソッドが必要なものを返すことができるようにします。

于 2013-07-15T17:48:26.203 に答える