Contact
Contact
My account
09.06.17

Glpi now uses atoum for its unit tests!

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.

Vous aimerez peut-être aussi ces articles

10.03.26
For most users, WhatsApp is already the natural way to reach support. What changes now is that this conversation finally works in favor of your governance, instead of becoming another unmanaged channel. The new official integration between GLPI and WhatsApp was designed for IT analysts and support coordinators who want to centralize communication, reduce noise, and keep full […]
05.03.26
Félicitations ! Nous sommes heureux d’annoncer notre nouveau partenaire Silver GLPI Network en France : Armada. Armada est un intégrateur spécialisé dans le déploiement de solutions informatiques et de cybersécurité, répondant aux enjeux de sécurité, d’autonomie et de conformité des infrastructures informatiques. Reconnue par des clients exigeants en matière de souveraineté numérique, de sécurité et de conformité réglementaire, Armada se distingue par son expertise et son savoir-faire.
04.03.26
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network en Espagne : Vires25. Vires25 a été fondée dans le but de conseiller et d'accompagner ses clients dans la recherche des plateformes les mieux adaptées à leurs besoins. L'entreprise réunit des professionnels possédant une vaste expérience des solutions informatiques et du conseil aux clients.
03.03.26
Deux nouvelles versions de GLPI sont disponibles. Ces mises à jour corrigent une faille de sécurité critique récemment découverte. La mise à jour est fortement recommandée ! Vous pouvez télécharger l'archive GLPI 11.0.6 sur GitHub. Vous trouverez ci-dessous la liste des problèmes de sécurité corrigés dans cette version corrective : Voici également une liste non exhaustive des corrections de bogues importantes incluses dans cette version : La version complète […]
02.03.26
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network au Brésil : Marcati. Marcati Soluções Tecnológicas est une entreprise spécialisée dans l'externalisation informatique et le développement de solutions stratégiques pour les entreprises. S'appuyant sur une solide expertise des technologies open source, Marcati collabore activement avec la communauté pour développer des projets, des systèmes et des idées qui rendent la technologie plus accessible, […]
10.02.26
Nous sommes ravis d'annoncer que Data Expertise, du groupe Human's Connexion et partenaire historique de GLPI en France, a obtenu le niveau Gold après plusieurs années en tant que partenaire Silver. Pour rappel : qui est Data Expertise ? Data Expertise est un intégrateur open source spécialisé dans la conception et l'architecture d'infrastructures informatiques. L'entreprise propose des solutions hybrides […]
09.02.26
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network au Brésil : GovTech 360. GovTech 360 est une entreprise spécialisée dans la gouvernance et la transformation numérique, forte d'une solide expérience dans la mise en œuvre et l'exploitation de solutions technologiques pour les secteurs public et privé. Avec plus de 10 ans d'expérience sur le marché des technologies, l'entreprise […]
06.02.26
Félicitations ! Nous sommes heureux d’annoncer notre nouveau partenaire Silver GLPI Network dans les Caraïbes : Cloud Carib. Cloud Carib est un fournisseur de premier plan de services de cloud souverain et de cybersécurité dans les Caraïbes et en Amérique latine. Basée aux Bahamas, la société fournit une infrastructure hybride sécurisée et des services gérés via des centres de données exploités localement dans […]
03.02.26
GLPI Agent 1.16 est disponible. Vous pouvez le télécharger sur le projet GitHub de GLPI Agent : https://github.com/glpi-project/glpi-agent/releases/tag/1.16. Nouvelle fonctionnalité : prise en charge de la norme IEC 61850. Cette nouvelle version introduit l’inventaire des dispositifs électroniques intelligents (IED) dans GLPI Agent. Concrètement, nous avons intégré la bibliothèque libiec61850, qui prend en charge les protocoles associés, et plus particulièrement ceux permettant […]
29.01.26
Félicitations ! Nous sommes heureux d’annoncer notre nouveau partenaire Silver GLPI Network aux Émirats arabes unis : KGT Computer Software Trading. K Global Technologies (KGT) est un fournisseur de solutions indépendant spécialisé dans la chaîne d’approvisionnement et le développement durable. L’entreprise propose des solutions sur mesure, adaptées aux besoins spécifiques de chaque client. Fondée en 2018, KGT a étendu sa présence à travers le monde.
28.01.26
Deux nouvelles versions de GLPI sont disponibles. Nous publions aujourd'hui les versions 11.0.5 et 10.0.23. Ces mises à jour contiennent des correctifs de sécurité et nous vous encourageons à les installer. De nombreux bogues ont également été corrigés ; consultez les notes de version pour plus de détails. Vous pouvez télécharger les nouvelles archives sur GitHub. Vous trouverez ci-dessous la liste des problèmes de sécurité corrigés dans […]
19.01.26
La gestion des actifs a toujours été au cœur de l'activité de GLPI. Aujourd'hui, notre solution va plus loin en reliant l'inventaire technique aux enjeux environnementaux. Grâce au nouveau plugin GLPI Carbon, vous pouvez transformer votre CMDB en un outil puissant pour piloter votre transition écologique. Visibilité complète sur votre infrastructure informatique : pour optimiser, il faut d'abord mesurer. GLPI centralise toutes vos données […]
14.01.26
Félicitations ! Nous sommes heureux d’annoncer l’arrivée de Novahé, notre nouveau partenaire Silver du réseau GLPI en France. Fort de son expertise en intégration de systèmes d’information, Novahé s’appuie sur GLPI, la solution ITSM leader, pour offrir à ses clients une gestion informatique unifiée et performante, adaptée à leurs environnements. Grâce à leur maîtrise des infrastructures complexes et à leur approche personnalisée, ils transforment […]
13.01.26
Nous sommes ravis d'annoncer que Synairgis, partenaire GLPI de longue date au Canada (Québec) et en France, accède au niveau Or après plusieurs années en tant que partenaire Argent. Pour rappel : qui est Synairgis ? Synairgis, entreprise basée au Québec et en France avec des bureaux à Montréal, Montpellier et Toulouse, propose des solutions de transformation écoresponsables. Elle met en œuvre GLPI pour optimiser les TI […]
12.01.26
La sécurité des outils ITSM est cruciale, et GLPI ne fait pas exception. Pour protéger vos données et garantir la fiabilité de votre environnement IT, il est essentiel de maintenir votre GLPI à jour. C’est dans ce contexte qu’Orange Cyberdefense a lancé GLPwnMe, un projet dédié à l’audit et à l’amélioration de la sécurité de GLPI.
08.01.26
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver du réseau GLPI au Brésil : Teledata. Intégrateur de solutions TIC actif depuis 1987, Teledata est spécialisé dans les télécommunications, l'informatique, la cybersécurité et l'expérience client, et favorise l'innovation, l'efficacité et la transformation des entreprises. 🌐
29.12.25
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network en Indonésie : PT. Azentra Solusi Digital. Azentra Solusi Digital est un fournisseur de solutions informatiques de premier plan en Indonésie, engagé à fournir des solutions et des services technologiques complets, notamment pour le secteur bancaire et financier. Forts d'une équipe de professionnels hautement qualifiés et possédant une vaste expérience du secteur, nous garantissons […]
24.12.25
Chez Teclib’, éditeur officiel du GLPI, la fin d’année est aussi l’occasion de se retrouver autrement. Avant de clôturer l’année, nous avons organisé notre Teclib’ Day, une journée dédiée à la convivialité, au partage et à la réflexion collective, pour célébrer nos réussites et renforcer la cohésion de l’équipe. 🎄✨ Un team building culinaire solidaire chez Chefsquare […]
23.12.25
L’Open Source Experience 2025 a réuni les acteurs majeurs de l’open source, du logiciel libre et de la gestion des services IT (ITSM). Pour GLPI, cette édition a été l’occasion de renforcer sa visibilité, de présenter les nouveautés de GLPI 11 et de mettre en avant son écosystème de partenaires.
16.12.25
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network au Brésil : Assistec Informática. Société de conseil et de support informatique forte de plus de 30 ans d'expérience, elle opère dans tout le pays. Ses services comprennent le support informatique, l'assistance technique, l'externalisation informatique, la sécurité des systèmes d'information, les centres de données et les solutions de cloud computing. Elle collabore avec des leaders mondiaux […]
1 2 3 18
chevron-right
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram