Contato
Contato
Minha conta
09.06.17

O Glpi agora usa o atoum para seus testes unitários!

About 2 years ago, we’ve begin to add some unit tests in the GLPI project; thanks to Valentin and Remi Collet. The PHPUnit framework has been used, since this is the most "common" choice for a PHP project.

Unfortunately, many parts of the code are not tested yet... This is a huge job; but we’re working on it. Nowadays, each new feature implemented in GLPI is unit tested; and we plan to spend time this summer to work on all of this.Why now?I personally appreciate atoum since its very beginning, and I’ve proposed to switch a while ago. Since we plan to add more and more tests; switching while there are still a few tests was easier. That’s why it’s been done now.So, why to switch?Well... Speaking of PHP unit testing frameworks, there are not so many possible choices. PHPunit is probably the oldest unit testing framework available for PHP; and it does the job, really. atoum is a more recent and modern choice, and it has some interesting capabilities:

  • testing variables types (if you test an integer and get a string, this is not correct),
  • wonderful mocking system (that permit to mock php native functions, constants, ...),
  • use closure to test outputs, exceptions, ... (way more interesting than phpunit’s annotations),
  • concurrent run of tests (even if it have been disabled for GLPI),
  • fully isolated tests,
  • chained calls,
  • more natural way to write tests (this is maybe just my point of view - but this is really more simple to me).

Also, GLPI is a French project, most core team members are French, just as atoum! 😉On a technical noteSwitching from PHPUnit to atoum is not something very difficult, especially if you did not yet use advanced features (which is the case for GLPI); but it is not really something that can be scripted. In facts, it could for some common cases, but reviewing tests is not something bad globally. Also, re-writing tests is a very good start point to learn new syntax, asserters and possibilities.For the GLPI project, we’ve spent two days working on the rewrite. What we had to take care of:

  • atoum is not permissive at all. Every notice in the code will make tests fail per default (which is a good point); we had to fix them;
  • we’re doing kind of functional tests and not only unit tests. Some existing tests used to change existing values in the database, before resetting them. That cannot be done running tests concurrently;
  • atoum does not support dependencies across tests; which phpunit does. It should seem a bad point, but the point is "tests are isolated". So... They cannot be dependent, we had to find another way;
  • session usage: GLPI uses many data in the session; and that is really a problem for testing... We had to disable concurrent runs mainly because of that :’(

The futureIn a close future, we plan to improve our unit tests; since many parts of the code are not tested at all. We also plan to split our unique directory into several ones, making possible to disable concurrent runs only on functional tests, not on the whole tests suite.Johan Cwiklinski.

Você também pode gostar estes artigos

18.05.26
Por anos, uma comunidade global de integradores tem sido a espinha dorsal do sucesso do GLPI. Muitos trabalham de forma independente, prestando serviços de alta qualidade aos seus clientes. Mas à medida que o ecossistema cresce, também cresce a necessidade de reconhecimento profissional e suporte direto do editor. Qual é o status de registrado? O status Registrado é o ponto de entrada oficial na Teclib' […]
13.05.26
Temos o prazer de anunciar que o Plugin Carbon para GLPI 1.2.0 está agora disponível. Desenvolvido como parte do Projeto IEN (Impacto Ambiental do Numérico) em colaboração com a IRT SystemX, Teclib' e outros parceiros, este plugin ajuda as equipes de TI a avaliar a pegada ambiental de seus ativos diretamente do GLPI. O que há de novo Esta versão traz [significativas]
06.05.26
Seu CEO pergunta por que os incidentes no departamento financeiro estão demorando duas vezes mais para serem fechados. Você sabe a resposta. Você viveu nesses tickets por semanas. Mas saber não é o mesmo que mostrar, e sem um dashboard adequado, o trabalho permanece invisível. Essa é a lacuna que o plugin Advanced GLPI Dashboards […].
29.04.26
Duas novas versões do GLPI estão disponíveis! Hoje, lançamos as versões 11.0.7 e 10.0.25. Esses lançamentos contêm correções de segurança e incentivamos você a atualizar. Muitas correções de bugs também foram feitas. Leia os changelogs para mais detalhes: Você pode baixar os novos arquivos no GitHub: Você encontrará abaixo a lista de problemas de segurança corrigidos em […]
28.04.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network no Brasil: Pronet Com seus 35 anos de experiência na indústria de TI, a Pronet construiu uma sólida reputação como especialista confiável em suporte técnico e Gerenciamento de Serviços de TI (ITSM). Baseada em uma abordagem estruturada de processos, métricas e atendimento ao cliente, a Pronet ajuda […]
21.04.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network na França: Reel IT Fundada há 20 anos, a Reel IT é um grupo de TI francês especializado em Inteligência Artificial, Cibersegurança e Infraestrutura. Reconhecido como um dos líderes em excelência técnica nessas áreas, o grupo atende a uma ampla gama de clientes em […]
15.04.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network na Sérvia: Poko ITS. A Poko ITS é uma empresa de TI confiável baseada na Sérvia, especializada em soluções ITSM e ITAM construídas em torno do GLPI. Desde consultoria inicial e design de arquitetura até implantação, integração e automação avançada, eles fornecem um espectro completo de serviços para [...]
14.04.26
O GLPI marcou presença na GITEX Africa 2026, em Marrakech, em uma edição definida por encontros estratégicos, novas parcerias e uma presença crescente no continente africano. O que é a GITEX Africa e por que o GLPI esteve presente? A GITEX Africa é a principal exposição de tecnologia do continente africano, reunindo milhares de profissionais, tomadores de decisão, startups e […]
08.04.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network na Costa do Marfim: Neurones Technologies. A Neurones Technologies é uma provedora de soluções de TI e telecomunicações que atua na África Ocidental e Central há mais de 15 anos. Especializada em soluções tecnológicas, a empresa se destaca por: O objetivo da Neurones Technologies é gerar […]
03.04.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network na República do Benim: SKYRAN GROUP SARL. A SKYRAN GROUP SARL foi fundada com o objetivo de impulsionar a modernização da infraestrutura tecnológica dentro das organizações. Sua expertise abrange o projeto, implementação e otimização de soluções de TI altamente inovadoras e de alto desempenho. Com sede em Cotonou, [...]
31.03.26
O GLPI-Agent 1.17 foi lançado. Você pode baixá-lo no projeto GLPI Agent do GitHub: https://github.com/glpi-project/glpi-agent/releases/tag/1.17 Esta nova versão traz algumas correções e melhorias, e aqui estão as essenciais: Você pode conferir os detalhes das mudanças no Changelog oficial online disponível aqui: https://github.com/glpi-project/glpi-agent/blob/1.17/Changes Em relação à pacotes, eis o que você deve reter: Como sempre, convidamos você […]
30.03.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver da GLPI Network na Tailândia: Magnus Inno Tech. A Magnus Inno Tech Co., Ltd. é uma empresa tailandesa de consultoria de TI e integração de sistemas especializada em infraestrutura de TI, cibersegurança e soluções de gerenciamento de serviços de TI. A empresa fornece consultoria, implementação e serviços gerenciados em áreas como Gerenciamento de Ativos de TI, Operações de TI [...]
18.03.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network na França: Surgeor Com 10 anos de experiência na área de Open Source, eles evoluíram em diversos ambientes técnicos e humanos. Sua criatividade, curiosidade, capacidade analítica e expertise lhes permitem apoiar todos os tipos de empresas, tanto a nível nacional quanto internacional. Eles abordam grandes […]
16.03.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network em Macau: Hogo Digital. A HOGO Digital é uma empresa focada em resultados que oferece serviços de marketing digital em conjunto com soluções especializadas de suporte de TI. Através de sua certificação GLPI, eles estão expandindo suas capacidades para ajudar os clientes a melhorar o gerenciamento de serviços de TI (ITSM), operações de helpdesk e gerenciamento de ativos. Isso permite que a HOGO […]
10.03.26
Para a maioria dos usuários, o WhatsApp já é a forma natural de buscar suporte. O que muda agora é que essa conversa, finalmente, funciona a favor da sua governança, em vez de se tornar mais um canal desengonçado. A nova integração oficial entre o **GLPI** e o WhatsApp foi pensada para analistas de TI e coordenadores de suporte que buscam centralizar a comunicação, diminuir o ruído e manter o controle total […]
05.03.26
Parabéns! Temos o prazer de anunciar nossa nova parceira Silver GLPI Network na França: Armada. A Armada é uma integradora especializada em implantação de soluções de TI e cibersegurança, abordando os desafios de segurança, autonomia e conformidade de infraestruturas de TI. Reconhecida por clientes com altos padrões de soberania digital, segurança e conformidade regulatória, a Armada se destaca através de seu [...]
04.03.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network na Espanha: Vires25. A Vires25 foi fundada com o objetivo de aconselhar e apoiar os clientes em sua jornada para encontrar as plataformas que melhor atendem às suas necessidades. A empresa reúne profissionais com vasta experiência em diversas soluções de TI, bem como em consultoria de clientes […]
03.03.26
Duas novas versões do GLPI estão disponíveis. Essas atualizações corrigem uma vulnerabilidade de segurança crítica descoberta recentemente. A atualização é altamente recomendada! Você pode baixar o arquivo GLPI 11.0.6 no GitHub. Abaixo você encontrará a lista de problemas de segurança corrigidos nesta versão de correção: Além disso, aqui está uma lista curta de correções de bugs importantes incluídas nesta versão: O [completo]
02.03.26
Parabéns! Temos o prazer de anunciar nosso novo parceiro Silver GLPI Network no Brasil: A Marcati Soluções Tecnológicas, uma empresa especializada em terceirização de TI e desenvolvimento de soluções estratégicas para ambientes corporativos. Atuando com forte base em tecnologias open-source, a Marcati colabora ativamente com a comunidade para o desenvolvimento de projetos, sistemas e ideias que tornam a tecnologia mais acessível, […]
10.02.26
Temos o prazer de anunciar que a Data Expertise do Human's Connexion Group, parceira de longa data da GLPI na França, alcançou o nível Gold, após vários anos como parceira Silver. Lembrete: Quem é a Data Expertise? A Data Expertise é uma integradora de código aberto especializada no design e arquitetura de infraestruturas de TI. A empresa oferece soluções híbridas […]
1 2 3 ... 18
chevron-right
LinkedIn Facebook Pinterest youtube rss Twitter Instagram facebook-em branco rss-em branco linkedin-em branco Pinterest youtube Twitter Instagram