СУШКА повторяющихся спецификаций в RSpec - PullRequest
5 голосов
/ 10 апреля 2010

В приведенном ниже тесте блоки Bar и 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

1 Ответ

3 голосов
/ 10 апреля 2010
...