2

現在、以下のものがたくさんあります。

it{ ::Api.any_instance.should_receive(...).once; start }

サブジェクトを作成しようとすると、Rspec がチョークし::Api.any_instanceます。つまり、

subject{ ::Api.any_instance }
it{ should_receive(...).once; start }

これらの仕様を乾燥させる方法はありますか?

4

1 に答える 1

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

多くの仕様が類似しているように見える場合は、これを共有の例に抽出することを選択します。

于 2012-11-29T13:36:24.800 に答える