/ / Come posso eseguire automaticamente i test di Ruby? - rubino, test unitari, test, integrazione continua

Come posso eseguire i test Ruby automaticamente? - ruby, unit-testing, testing, continuous-integration

Ho un sistema che dipende molto da variAPI web. Vorrei eseguire i miei test specifici per le API almeno una volta al giorno per assicurarmi che tutte le API funzionino ancora correttamente. Ho una serie di unit test (solo semplici file rb che testano le chiamate API per i dati previsti) e lo farei mi piacerebbe eseguirli ogni 24 ore Se qualcosa si rompe, vorrei intraprendere un'azione (ad esempio, mandami un'e-mail o un sms).

Il modo migliore per configurare test Ruby automatici e parseil risultato? Posso semplicemente impostare un cron job per gestire i file .rb? Come posso intraprendere un'azione e rilevare a livello di codice se i test hanno esito negativo? Forse esiste una sorta di soluzione di integrazione continua per RUby in grado di gestire questo?

risposte:

2 per risposta № 1

Ho appena completato il processo di configurazione Hudson CI come server di integrazione, utilizzando questo fantastico tutorial dal dottor Nic. Si installa tramite una gemma, arrivando praticamente preconfigurato ed è stato estremamente semplice farlo funzionare.

Sto usando rspec e cetriolo e Hudson esegue tuttoverifica quando vede un nuovo commit sul mio repository git. Se tutti i test vengono superati, il codice viene unito al mio ramo principale. Se un test fallisce, tiene i suoi cavalli e mi invia un'e-mail.

MODIFICARE:

Voglio anche dare dieci pollici in su al Chuck Norris plugin per Hudson. Agile non può essere migliore della programmazione in coppia con Walker, Texas Ranger.


0 per risposta № 2

Ha Ruby Test :: Unità incorporato, RSpec, ZenTest, shoulda, cetriolo e probabilmente molti altri strumenti per testare. Essendo integrato, Test :: Unit è molto utilizzato ed è l'obiettivo da battere dagli altri strumenti.

ZenTest e RSpec possono eseguire test continui: fai una modifica e salvi un file e loro lo vedranno ed eseguiranno la suite di test. Mi piace perché so subito lo stato delle cose.

Non ho usato il cetriolo, ma ho usato il resto. Ho sentito che l'enfasi di cetriolo è sui test di integrazione, ma questo potrebbe essere stato il sentimento del commentatore piuttosto che la progettazione degli sviluppatori. elenco di tutorial per cetriolo è interessante la navigazione. In particolare ci "s webrat: test di accettazione automatizzato con RSpec o Cucumber.

Ognuno di questi potrebbe essere cablato con cron per essere eseguito periodicamente; Trattali come faresti con qualsiasi altro set di app da riga di comando.

Dovrebbe essere facile collegarlo anche al test web, madovrai identificare le gemme / moduli necessari e scrivere il codice della colla. Non ho avuto bisogno di una bestia come quella che avrei fatto usando Mechanize e / o una delle altre gemme HTTP più Nokogiri per saccheggiare il pagine.