/ / Utilizzo di Jenkins CI per il test delle unità: php, android, ios, jenkins, integrazione continua

Utilizzo di Jenkins CI per il test delle unità: php, android, ios, jenkins, integrazione continua

Sto ricercando Jenkins per il mio team di sviluppo e sto iniziando a rendermi conto che quello che voglio alla fine è più Unit Testing e meno Integration.

Non sono molto interessato all'integrazione ospiegamento con Jenkins a questo punto. Quello che voglio soprattutto ora è automatizzare i test quando il codice è impegnato e segnalare agli sviluppatori quando c'è un problema.

Jenkins è ancora una buona soluzione per quello che sto cercando di realizzare?

Se lo è, devo scrivere prima tutti i miei test unitari e poi aggiungerli a Jenkins? Avrò bisogno di un lavoro di Jenkins per ogni Test di unità, o posso combinare molti test di unità in un lavoro di Jenkins?

Alla fine, voglio automatizzare test di PHP, Java (per Android) e Objective-C (iOS).

Grazie!

db

risposte:

2 per risposta № 1

Sì, Jenkins è sicuramente una soluzione valida, ti permetterà di eseguire test per Android e iOS. Per Php non posso dire ma immagino di sì.

Jenkins è fondamentalmente uno sceneggiatore che può esserecollegato a un SCM ed eseguire script attivati ​​da modifiche scm. Quindi scrivi i tuoi test, eseguili sul tuo computer e trova il modo di farli funzionare automaticamente attraverso Jenkins per ogni commit: questa è l'essenza di CI.

Per Android e iOS, esecuzione di lavori di compilazione eeseguire i test è un po 'complicato in quanto hai bisogno della tua build per eseguire un emulatore (anche se puoi comunque collegare un dispositivo al tuo server se sei abbastanza ricco). E ci sono alcuni plugin per questo come il plugin dell'emulatore Android Jenkins.


0 per risposta № 2

Sì, Jenkins (e praticamente qualsiasi altro strumento di valutazione della conoscenza che valga il nome) è sicuramente in grado di eseguire test unitari.

A parte i termini: "integrazione" è "integrazione continua" non significa "test di integrazione" (anche se puoi certamentegestisci anche quelli). Si riferisce a "integrare i cambiamenti", cioè i check-in. In un giorno ormai (per fortuna!) Ormai lontani, questo non era dato: gli sviluppatori potevano passare settimane senza effettuare il check-in o solo controllando le filiali personali. L'integrazione del codice nella linea principale poteva richiedere settimane. L'idea (allora rivoluzionaria) di risolvere ciò era : costruire ogni notte, da qui il termine "nightly build". L'estensione naturale era quella di creare continuamente, il che richiedeva un server per il polling del sistema CM per le modifiche.

Con quella prospettiva, non puoi eseguire i test unitari senza l'integrazione, dal momento che in genere è necessario prima creare, quindi unit test. Come accennato in precedenza: Jenkins "ha forte supporto per i test unitari: sarà facilmente modellato come un singolo lavoro al massimo livello.

Vedi anche animali più potenti (e costosi) in questa famiglia, come Comandante elettrico.