Разница между блоком it и блоком спецификации в RSpec - PullRequest
77 голосов
/ 13 декабря 2011

В чем разница между блоком it и заданным блоком в RSpec?

subject { MovieList.add_new(10) }

specify { subject.should have(10).items }
it { subject.track_number.should == 10}

Кажется, они делают ту же работу. Просто проверяю, чтобы быть уверенным.

1 Ответ

103 голосов
/ 13 декабря 2011

Методы одинаковы ;они предоставляются для того, чтобы спецификации читались на английском лучше, основываясь на тексте вашего теста.Рассмотрим эти два:

describe Array do
  describe "with 3 items" do
    before { @arr = [1, 2, 3] }

    specify { @arr.should_not be_empty }
    specify { @arr.count.should eq(3) }
  end
end

describe Array do
  describe "with 3 items" do
    subject { [1, 2, 3] }

    it { should_not be_empty }
    its(:count) { should eq(3) }
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...