0

我的一个模型中有一个返回随机行的方法

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 回答