1. ホーム
  2. ruby-on-rails

[解決済み] RSpecのitブロックとspecブロックの違いについて

2023-03-21 10:46:53

質問

RSpecのitブロックとspecialブロックの違いは何ですか?

subject { MovieList.add_new(10) }

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

同じ仕事をしているようです。念のため確認しておきます。

どのように解決するのですか?

方法は と同じです。 ;これらは、テストの本文に基づいてspecを英語でよりきれいに読むために提供されています。この2つを考えてみましょう。

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