現在、以下のものがたくさんあります。
it{ ::Api.any_instance.should_receive(...).once; start }
サブジェクトを作成しようとすると、Rspec がチョークし::Api.any_instance
ます。つまり、
subject{ ::Api.any_instance }
it{ should_receive(...).once; start }
これらの仕様を乾燥させる方法はありますか?
問題はスペックのデザインにあると思います。
私が提案することは、次のことです。
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
。
多くの仕様が類似しているように見える場合は、これを共有の例に抽出することを選択します。