Сушка повторенных спецификаций в RSpec

В тесте ниже, блоки Панели и Baz содержат идентичные спецификации.

Не принимая во внимание, почему такое повторение было необходимо во-первых, я задаюсь вопросом, как можно было высушить это.

Я пытался превратить блоки в объекты и назвать их под Панелью и Baz, но возможно потому что я не разобрался в объемах, я не смог заставить ее работать.

describe Foo do
  describe Bar do
    before(:each) do
      prepare
    end

    it "should do something" do
      true
    end

    it "should do something else" do
      true
    end
  end

  describe Baz do
    before(:each) do
      prepare_something_else
    end

    it "should do something" do
      true
    end

    it "should do something else" do
      true
    end
  end
end
5
задан Earlz 9 April 2010 в 22:25
поделиться