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

28.04.26
Congratulations! We are happy to announce our new Silver GLPI Network partner in Brazil: Pronet With 35 years of experience in the IT industry, Pronet has built a solid reputation as a trusted specialist in technical support and IT Service Management (ITSM). Based on a structured approach to processes, metrics, and customer service, Pronet helps […]
21.04.26
Félicitations ! Nous avons le plaisir d'annoncer notre nouveau partenaire Silver du réseau GLPI en France : Reel IT. Fondé il y a 20 ans et basé à Aix-en-Provence, Reel IT est un groupe IT français spécialisé dans l'Intelligence Artificielle, la Cybersécurité et l'Infrastructure. Reconnu comme l'un des acteurs de référence en matière d'excellence technique, le groupe accompagne des clients issus de nombreux secteurs[...]
15.04.26
Félicitations ! Nous sommes heureux d'annoncer l'arrivée d'un nouveau partenaire Silver GLPI Network en Serbie : Poko ITS. Poko ITS est une entreprise informatique de confiance basée en Serbie, spécialisée dans les solutions ITSM et ITAM basées sur GLPI. Du conseil initial et de la conception de l'architecture au déploiement, à l'intégration et à l'automatisation avancée, elle propose une gamme complète de services pour […]
14.04.26
GLPI a marqué les esprits lors de GITEX Africa 2026 à Marrakech, une édition caractérisée par des rencontres stratégiques, de nouveaux partenariats et une présence croissante sur le continent africain. Qu'est-ce que GITEX Africa et pourquoi GLPI y était-il présent ? GITEX Africa est le principal salon technologique du continent africain, réunissant des milliers de professionnels, décideurs, startups et bien plus encore.
08.04.26
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network en Côte d'Ivoire : Neurones Technologies. Neurones Technologies est un fournisseur de solutions informatiques et de télécommunications présent en Afrique de l'Ouest et centrale depuis plus de 15 ans. Spécialisée dans les solutions technologiques, l'entreprise se distingue par son objectif de générer […]
03.04.26
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network en République du Bénin : SKYRAN GROUP SARL. Fondée dans le but d'accélérer la modernisation des infrastructures technologiques au sein des organisations, SKYRAN GROUP SARL possède une expertise reconnue dans la conception, la mise en œuvre et l'optimisation de solutions informatiques hautement innovantes et performantes. Basée à Cotonou, […]
31.03.26
GLPI-Agent 1.17 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.17. Cette nouvelle version inclut des correctifs et des améliorations, dont voici les principaux : Vous pouvez consulter le détail des modifications dans le journal des modifications officiel en ligne, disponible ici : https://github.com/glpi-project/glpi-agent/blob/1.17/Changes. Concernant le packaging, voici les éléments à conserver : Comme d'habitude, nous vous invitons […]
30.03.26
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network en Thaïlande : Magnus Inno Tech. Magnus Inno Tech Co., Ltd. est une société thaïlandaise de conseil en informatique et d'intégration de systèmes, spécialisée dans les infrastructures informatiques, la cybersécurité et les solutions de gestion des services informatiques. L'entreprise propose des services de conseil, de mise en œuvre et d'infogérance dans des domaines tels que la gestion des actifs informatiques, les opérations informatiques […]
18.03.26
Félicitations ! Nous sommes heureux d’annoncer notre nouveau partenaire Silver GLPI Network en France : Surgeor. Forts de 10 ans d’expérience dans le domaine de l’Open Source, ils ont évolué dans des environnements techniques et humains variés. Leur créativité, leur curiosité, leurs compétences analytiques et leur expertise leur permettent d’accompagner tous types d’entreprises, en France comme à l’international. Ils s’attaquent aux principaux défis […]
16.03.26
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network à Macao : Hogo Digital. HOGO Digital est une entreprise axée sur les résultats qui propose des services de marketing digital ainsi que des solutions de support informatique spécialisées. Grâce à sa certification GLPI, elle renforce ses capacités pour aider ses clients à améliorer la gestion des services informatiques (ITSM), l'assistance technique et la gestion des actifs. Cela permet à HOGO […]
10.03.26
Pour la plupart des utilisateurs, WhatsApp est déjà le moyen privilégié de contacter l'assistance. Désormais, cette conversation sert enfin votre gouvernance, au lieu de devenir un canal supplémentaire non géré. La nouvelle intégration officielle entre GLPI et WhatsApp a été conçue pour les analystes informatiques et les coordinateurs de support qui souhaitent centraliser la communication, réduire les interférences et conserver une visibilité complète.
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.
1 2 3 18
chevron-right
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram