2010-04-09 15 views
5

En la prueba siguiente, los bloques Bar y Baz contienen especificaciones idénticas.DRYing especificaciones repetidas en RSpec

Dejando de lado por qué esa repetición era necesaria en primer lugar, me pregunto cómo se podría secar esto.

Intenté convertir los bloques en objetos y llamarlos en Bar y Baz, pero posiblemente porque no obtuve los ámbitos correctos, no he podido hacerlo funcionar.

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 

Respuesta

Cuestiones relacionadas