现在我有很多以下内容:
it{ ::Api.any_instance.should_receive(...).once; start }
如果我试图让::Api.any_instance
成为主题,那么Rspec就会窒息,即
subject{ ::Api.any_instance }
it{ should_receive(...).once; start }
有没有办法干这些规格?
答案 0 :(得分:0)
我认为问题在于规格的设计。
我建议做的是:
describe SomeClass do
let(:object_instance) { described_class.new }
before do
# Put expectations in before block, they shouldn't be a part of text example!
object_instance.should_receive(:something)
end
specify { subject.do_something_else }
end
如果您有更多的期望,可以将所有这些内容放入before
块或仅使用不同的context
。
如果很多规格看起来相似,我会选择将其提取到共享示例中。