暗黙のサブジェクトが RSpec でどのように機能するかを理解していると思っていましたが、そうではありません。
次の例で、明示的なサブジェクトを含む最初の仕様はパスしますが、暗黙的なサブジェクトを使用する 2 番目の仕様は「未定義のメソッド `matches' for #」で失敗するのはなぜですか?
class Example
def matches(str) ; true ; end
end
describe Example do
subject { Example.new }
specify { subject.matches('bar').should be_true }
it { matches('bar').should be_true }
end
(rspec 1.3 を使用していますが、2.10.1 でも同じ動作を確認しています。)