Одно ожидание на группу - это предложение, а не жесткое и быстрое правило.Вы не должны сходить с ума, пытаясь соответствовать этому (и в этом случае, я думаю, использование блока after :all
немного сходит с ума).
Я также избавляюсь от before :all
ипросто использование before :each
-: все может иногда приводить к запутанным ошибкам состояния.
describe Foo, "#bar" do
before do
@baz = mock(Baz)
@foo = Foo.new(@baz)
end
it "should call waka on @baz" do
@baz.should_receive(:waka)
@foo.bar
end
it "should not be empty afterwards" do
@foo.bar
@foo.should_not be_empty
end
it "should not raise exceptions" do
lambda { @foo.bar }.should_not raise_exception
end
end
И на самом деле, вы все еще устанавливаете только одно ожидание на группу.