【发布时间】:2013-01-22 20:35:46
【问题描述】:
我希望测试一个类方法是否调用了一个特定的实例方法。有没有办法做到这一点?这是我所拥有的最好的,但它失败了。
describe '#foo' do
let(:job) { create :job }
it 'calls job.bar' do
job.should_receive(:bar)
Job.foo
end
end
我需要确保调用了正确的作业实例,而不仅仅是任何实例。感谢您的帮助。
【问题讨论】:
-
所以这个测试是在同一个实例上测试实例方法
#foo调用实例方法#bar。您根本没有测试类方法。哪个应该是类上的方法? -
很抱歉。错字。修好了。
-
太棒了,那么
.foo是如何让实例调用的呢?它是在做一个活动记录.find还是类似的东西? -
是的。 (填写最短评论长度的空格。)
标签: ruby-on-rails testing rspec