所以我有一个类Weather,应该返回随机结果,我想用stub来测试它。我在这篇http://www.martinfowler.com/articles/mocksArentStubs.html上读到了Martin Flower的文章。 我觉得这将是最简单的解决方案。但很难找到任何语法示例。你能给我一个测试的例子吗?这是我作业的一部分。
class Weather
def conditions
return :good if chance > 0.3
:stormy
end
def chance
rand
end
end
答案 0 :(得分:2)
根据您的示例,您希望测试chance
的行为而不是实现。
describe Weather do
it 'returns good' do
weather = Weather.new
allow(weather).to receive(:chance).and_return(0.8)
expect(weather.conditions).to eq :good
end
end