2010-04-09 3 views
5

Dans le test ci-dessous, les blocs Bar et Baz contiennent des spécifications identiques.DRYing répété specs dans RSpec

Laissant de côté pourquoi une telle répétition était nécessaire en premier lieu, je me demande comment on pourrait l'assécher.

J'ai essayé de transformer les blocs en objets et de les appeler sous Bar et Baz, mais peut-être parce que je n'ai pas bien compris les champs, je n'ai pas réussi à le faire fonctionner.

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 

Répondre

Questions connexes