Mi piace molto il modo in cui RSpec è in grado di separare il controller e visualizzare i test, ma ha qualche problema nel far funzionare capybara matchers in un test di visualizzazione. Quello che ho fondamentalmente cerco di realizzare è sth come questo:Rspec visualizza i test con capibara e binari3
describe "some page" do
it "should render with lots of stuff" do
assign ..
render
rendered.should have_button ('Any button') #or any capybara matcher, really
end
end
Ho visto alcuni messaggi in rete che mostra come configurare capibara e Rails3 di lavorare senza problemi con cetriolo o test del controller RSpec, ma questo non è proprio quello Voglio, cioè testare le visualizzazioni al livello più basso possibile.
Anche se c'è un altro modo per farlo (non richiede un sacco di codice personalizzato, couse so che potrei scrivere alcuni matcher che estraggono i selettori dati dal rendering usando nokogiri o qualunque strumento adatto) sarebbe bello anche - usando capibara non è un requisito
Corretto. Se si utilizza il driver predefinito di Capybara (': rack_test'), la scrittura dei test di visualizzazione come" test di richiesta "con Capybara dovrebbe comunque fornire prestazioni ragionevolmente buone. È come essenzialmente collaudo le mie opinioni. Semplicemente non puoi usare 'assign', quindi hai un po 'meno controllo rispetto ai test di visualizzazione" reali ". –