2011-11-19 11 views
21

Sto usando capibara per i miei test di integrazione/accettazione Sono nella cartella /spec/requests/. Ora ho alcuni metodi di supporto che uso durante i test di accettazione. register_user che assomiglia a questoDove/come includere i metodi di supporto per i test di integrazione capibara

def register_user(user) 
    visit home_page 
    fill_in 'user_name', :with => user.username 
    fill_in 'password', :with => user.password 
    click_button 'sign_up_button' 
end 

voglio usare questo metodo in diverse prove di collaudo diverse (sono in file diversi). Qual è il modo migliore per includere questo? ho provato a mettere in spec/support/ ma non ha funzionato per me. Dopo aver trascorso un po 'di tempo su di esso ho capito che non so nemmeno se è un buon modo di farlo, quindi ho pensato di chiedere qui.

Nota: utilizzo le guide 3, spork e rspec.

risposta

36

Metti la tua aiutante alla cartella spec/support e fare qualcosa del genere:

spec/supporto /:

module YourHelper 
    def register_user(user) 
    visit home_page 
    fill_in 'user_name', :with => user.username 
    fill_in 'password', :with => user.password 
    click_button 'sign_up_button' 
    end 
end 

RSpec.configure do |config| 
    config.include YourHelper, :type => :request 
end 
+6

Quando si utilizzano specifiche/supporto vs. specifiche/assistenti? – cman77

+0

bump per la domanda precedente –

+9

@ cman77 spec/helpers è per testare app/helper, i file spec/support sono per i moduli e la configurazione che si desidera utilizzare nelle specifiche –

15

ho usato la soluzione data dalla @VasiliyErmolovich, ma ho cambiato il digitare per farlo funzionare:

config.include YourHelper, :type => :feature 
+0

Lo stesso qui ... questo è se hai il tuo test in specifiche/caratteristiche vs. specifiche/richieste –

Problemi correlati