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 № 1Sim, 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.