2012-04-07 11 views
6

Desidero selezionare il valore dall'elenco di selezione in RSpec. Per esempio io ho tali dati:Rails 3 e rspec - selezionare dall'elenco di selezione

<div class="control-group"> 
<label class="control-label" for="user_teacher_leader_attributes_teacher_id">Teacher names</label> 
    <div class="controls"> 
    <select id="user_teacher_leader_attributes_teacher_id" name="user[teacher_leader_attributes][teacher_id]"> 
    <option value="1" selected="selected">Math teacher</option> 
    <option value="2">Physics teacher</option>  
    </div> 
</div> 

Voglio selezionare l'opzione Physics teacher via RSpec. Come lo posso fare? Inoltre, posso scegliere qualcosa dalla lista per valore (ad esempio, selezionare Physics teacher dal valore "2" che ha)?

+0

È necessario 'have_selector' matcher – MikDiet

+0

@Mik_Die Perché usare la matcher per selezionare l'opzione? Sei sicuro? – ExiRe

risposta

17

Ho trovato la soluzione. Si dovrebbe usare selezionare metodo:

select "Physics teacher", :from => "teacher_leader[teacher_id]" 
+0

C'è un modo per farlo funzionare con 'select' che ha un'opzione due volte? (ad esempio, "Gli Stati Uniti" sono due volte nel mio paese: selezionare alcuni "paesi prioritari" per una migliore UX) – yas4891

+1

Questo non risponde alla domanda. Che fa schifo perché ho avuto la stessa domanda. Come selezionare per 'value' not option' text'? – taystack

Problemi correlati