80 votes

Différence entre un bloc it et un bloc specify dans RSpec

Quelle est la différence entre un bloc it et un bloc specify dans RSpec ?

subject { MovieList.add_new(10) }

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

Ils semblent faire le même travail. Je vérifie juste pour être sûr.

106voto

Brandon Tilley Points 49142

Les méthodes sont les suivantes le même ; ils sont prévus pour rendre la lecture des spécimens en anglais plus agréable en fonction du corps de votre test. Considérez ces deux-là :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X