Controlla il tuo sito con “spider fuzz plugin”
Girellando nel sito di Caboose ho trovato il plugin spider fuzz utilissimo per testare svariate cose all’interno delle nostre applicazioni Ruby on Rails.
Come funziona:
Il plugin effettua i seguenti task per voi:
- analizza l’html di ogni pagina per trovare html invalido di cui sarai avvisato.
- trova ogni link nel sito e lo segue.
- trova ogni chiamata Ajax.Updater e la segue.
- trova ogni form e ne effettua il submit, riempiendolo con valori se possibile.
Questo consente di:
- Trovare pagine statiche mancanti (.html)
- Routing incorretti
- Copertura scarsa del codice - testa tutta l’applicazione prima che ti avverta un utente
- Testa i percorsi dei form e capisce se puntano a pagine incorrette
Come installarlo
Lanciare da console i seguenti comandi:
1 $ ./script/plugin install spider_tester 2 $ ./script/generate integration_test spider_test
Come utilizzarlo
Mettere all’interno del file spider_test.rb il seguente codice:
1 2 3 14 end
Se avete anche un’area utenti potete anche aggiungere il seguente metodo al precedente file:
1 2 get '/sessions/new' 3 assert_response :success 4 post '/sessions/create', :login => 'admin', :password => 'test' 5 assert session[:user] 6 assert_response :redirect 7 assert_redirected_to '/' 8 follow_redirect! 9 10 spider(@response.body, '/') 11 end
lanciando da riga di comando:
1 rake test:integration
Lanciarete tutti gli integration test tra cui quelli del fuzz plugin. Ogni volta che il test troverà qualcosa che non va si interromperà e vi segnalerà il problema. State attenti ad inserire include Caboose::SpiderIntegrator invece di include SpiderIntegrator altrimenti l’applicazione non vi funzionerà.
Io ho avuto anche dei problemi in applicazioni che contenevano dei feed rss. Se trovo come risolvere il problema ve lo farò sapere.

