2012-06-19 8 views
6

Ho alcuni metodi comuni usati in un paio di specifiche diverse, voglio estrapolarli in qualche posto come un helper delle specifiche accessibile da tutte le specifiche. Qualcuno sa come fare questo?Creazione di un helper spec. In rubymotion

risposta

1

Ecco qualcosa che cova come uno spec_helper.

# _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 

E poi usarlo:

# my_view_spec.rb 

describe "MyView" do 
    extend SpecHelper 

    before do 
    foo_helper 
    end 
    ... 


due cose da tenere a mente:

  1. file di aiuto

    Spec è chiamato in modo tale che venga caricato per primo (leader sottolineatura)

  2. Quando si eseguono specifiche individuali (per esempio. files=my_view_spec.rb) file di aiuto deve andare avanti - files=spec/my_view_spec.rb,spec/_spec_helper.rb

+0

Ho usato questa soluzione per risolvere un problema leggermente diverso, quindi grazie mille per questo! Spero che qualcosa di "ufficiale" come questo possa finalmente arrivare a Rubymotion. –

0

ho solo buttare i miei metodi comuni utilizzati in specifiche come sono (non incapsulati in un Module o niente) in un file dispec/supporto/utilities.rb e Rubymotion sembra prenderli bene, anche se non so se questo è il modo "corretto" per farlo.

Problemi correlati