2012-06-19 4 views

Antwort

1

Hier ist etwas, das wie ein spec_helper quatscht.

# _spec_helper.rb 

module SpecHelper 
    ::App::Persistence = {} 

    # global `before :each` ish 
    def self.extended(base) 
    base.before do 
     ::App::Persistence.clear 
    end 
    end 

    def foo_helper 
    end 
end 

Und dann verwenden:

# my_view_spec.rb 

describe "MyView" do 
    extend SpecHelper 

    before do 
    foo_helper 
    end 
    ... 


Zwei Dinge im Auge zu behalten:

  1. Spec Hilfsdatei in einer solchen Art und Weise benannt wird, dass sie zum ersten Mal geladen wird (was Unterstrich)

  2. Beim Ausführen einzelner Spezifikationen (z.B. files=my_view_spec.rb) Hilfsdatei mitgehen muss - files=spec/my_view_spec.rb,spec/_spec_helper.rb

+0

Ich habe diese Lösung verwendet, um ein etwas anderes Problem zu lösen, also vielen Dank dafür! Ich hoffe, dass so etwas "Offizielles" irgendwann in Rubymotion Einzug hält. –

0

ich meine nur gängige Methoden in Spezifikationen verwendet werfen, da sie (nicht in einem Module oder etwas gekapselt) in einem spec/support/utilities.rb Datei und Rubymotion scheint sie gut aufzunehmen, obwohl ich nicht weiß, ob dies der "richtige" Weg ist, dies zu tun.