Каждый пример в вашей Rspec должен завершать предложение, предложение, которое вы обычно начинаете в блоке describe
, инкапсулируя связанные тесты.
Я взял это из одной из моих собственных спецификаций:
describe Redis::BigHash do
before :each do
@hash = Redis::BigHash.new
@hash[:foo] = "bar"
@hash[:yin] = "yang"
end
describe "#[]" do
it "should read an existing value" do
@hash[:foo].should == "bar"
end
it "should get nil for a value that doesn't exist" do
@hash[:bad_key].should be_nil
end
it "should allow lookup of multiple keys, returning an array" do
@hash[:foo, :yin, :bad_key].should == ["bar", "yang", nil]
end
end
end
В итоге вы получите предложения типа:
Redis::BigHash#[]
должны прочитать существующее значение. Redis::BigHash#[]
должны получить ноль для значения, которое не существует. Redis::BigHash#[]
должен разрешать поиск нескольких ключей, возвращая массив.
Простые английские предложения, описывающие желаемое поведение.