/ / Usando Jenkins CI para Testes Unitários - php, android, ios, jenkins, integração contínua

Usando Jenkins CI para Testes Unitários - php, android, ios, jenkins, integração contínua

Estou pesquisando Jenkins para minha equipe de desenvolvimento e estou começando a perceber que o que eu estou querendo no final é mais Testes Unitários e menos Integração.

Eu não estou muito interessado em integração ouimplantação com Jenkins neste momento. O que eu mais quero agora é automatizar os testes quando o código é confirmado e reportar aos desenvolvedores quando há um problema.

Jenkins ainda é uma boa solução para o que estou tentando realizar?

Se for, preciso escrever primeiro todos os meus testes unitários e adicioná-los a Jenkins? Preciso de um emprego para Jenkins para cada teste da Unidade, ou posso combinar muitos testes de unidade em um trabalho da Jenkins?

Eventualmente, eu quero automatizar o teste PHP, Java (para Android) e Objective-C (iOS).

Obrigado!

db

Respostas:

2 para resposta № 1

Sim, Jenkins é definitivamente uma solução válida e permitirá que você execute testes para Android e iOS. Para Php eu não posso dizer, mas eu acho que sim.

Jenkins é basicamente um corredor de script que pode serconectado a um scm e execute scripts disparados por alterações scm. Então, escreva seus testes, execute-os em sua máquina e encontre uma maneira de executá-los automaticamente através do Jenkins para cada commit: essa é a essência do CI.

Para Android e iOS, a execução de trabalhos de criação eexecutar testes é um pouco complicado, já que você precisa da sua compilação para rodar um emulador (embora você ainda possa conectar um dispositivo ao seu servidor se você for rico o suficiente). E existem alguns plugins para isso, como o plugin emulador Jenkins para Android.


0 para resposta № 2

Sim, Jenkins (e praticamente qualquer outra ferramenta de CI que valha o nome) é definitivamente capaz de executar testes de unidade.

Um aparte nos termos: A "integração" é "integração contínua" faz não significa "teste de integração" (embora você possa certamenteexecute aqueles, também). Refere-se a "integração de mudanças", isto é, checkins. No dia de hoje (felizmente!) Há muito tempo, isso não foi dado: os desenvolvedores podiam passar semanas sem fazer o check-in ou apenas verificar em ramificações pessoais. Integrar código na linha principal poderia levar semanas. A idéia (então revolucionária) de consertar isso era : construir todas as noites, daí o termo "nightly build". A extensão natural era construir continuamente, o que exigia um servidor para pesquisar o sistema CM em busca de mudanças.

Com essa perspectiva, você não pode executar testes de unidade sem a integração, desde que você normalmente deve primeiro construir, em seguida, teste de unidade. Como mencionado acima: Jenkins "tem forte suporte para testes unitários: será prontamente modelado como um único trabalho no nível superior.

Veja também animais mais poderosos (e caros) nesta família, como Comandante Elétrico.