Contact
Contact
Mon compte
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.06.26
Congratulations! We are pleased to announce our new Silver GLPI Network partner in Switzerland: Forfirm Consulting Sagl. Founded in 2014, Forfirm is a consulting firm specializing in ICT & Digital, Finance, and Governance, Risk & Compliance (GRC). With offices in Zurich and Lugano, the company operates at the heart of the Swiss business ecosystem, supporting […]
03.06.26
Félicitations ! Nous sommes heureux d'annoncer l'arrivée de notre nouveau partenaire Silver du réseau GLPI au Japon : HOGO Japan. HOGO Japan propose des services d'assistance informatique, de gestion des systèmes et d'exploitation numérique aux entreprises implantées au Japon, notamment aux institutions financières, aux entreprises industrielles, aux sièges sociaux et aux entreprises de services en contact direct avec la clientèle. En mettant l'accent sur la fiabilité et la réactivité, ils aident […]
02.06.26
Nous avons le plaisir d'annoncer la mise à disposition de la version bêta du plugin Nutanix pour GLPI 10 et GLPI 11. Cette version bêta est accessible à l'ensemble de la communauté GLPI. Elle a pour objectif de permettre aux utilisateurs de tester le plugin dans divers environnements et cas d'utilisation, et ce sont vos retours qui […]
25.05.26
Nous avons le plaisir d'annoncer l'arrivée de notre nouveau partenaire Silver du réseau GLPI en Équateur : Bytebloom EC. Bytebloom EC est une entreprise équatorienne spécialisée dans l'automatisation, la gestion des services informatiques, la surveillance et l'observabilité. Basée en Équateur, elle aide les organisations des secteurs public et privé à rationaliser et à optimiser leurs opérations technologiques. Son expertise en matière d'ITSM et de gestion des infrastructures informatiques […]
22.05.26
Félicitations ! Nous sommes heureux d'annoncer l'arrivée d'un nouveau partenaire Silver du réseau GLPI au Brésil : Pronet. Nous sommes également ravis d'annoncer l'arrivée d'un nouveau partenaire Silver du réseau GLPI au Pérou : Comutel Perú. Comutel Perú est un fournisseur d'infrastructures et de solutions informatiques axé sur le marché des entreprises péruviennes. L'entreprise est spécialisée dans la distribution de technologies stratégiques conçues […]
27.05.26
Les services informatiques modernes s'appuient sur un réseau de plus en plus étendu de prestataires externes : plateformes cloud, fournisseurs de SaaS, fournisseurs de matériel et partenaires de services gérés. La gestion efficace de ces relations est devenue une discipline fondamentale de la gestion des services informatiques. Cet article explore la gestion des fournisseurs à travers le référentiel ITIL 4® et montre comment GLPI transforme cette pratique en une solution concrète et intégrée […]
20.05.26
En octobre 2025, nous avons lancé un nouvel outil destiné à vous aider à comprendre l'impact environnemental lié à l'exploitation des services numériques : ordinateurs, serveurs, écrans, appareils mobiles et équipements réseau. Le plugin Carbon, accessible à tous via la GLPI Marketplace et le dépôt GitHub de notre projet, vous permettra d'évaluer l'empreinte carbone des actifs numériques de votre entreprise. Tout le monde a un […]
18.05.26
Depuis des années, une communauté mondiale d'intégrateurs constitue l'épine dorsale du succès de GLPI. Beaucoup travaillent indépendamment, fournissant des services de haute qualité à leurs clients. Mais à mesure que l'écosystème se développe, le besoin de reconnaissance professionnelle et de support direct de l'éditeur augmente également. Quel est le statut enregistré ? Le statut enregistré est le point d'entrée officiel dans le Teclib' […]
13.05.26
Nous avons le plaisir d'annoncer que le plugin Carbon pour GLPI 1.2.0 est maintenant disponible. Construit dans le cadre du projet IEN (Impact Environnemental du Numérique) en collaboration avec IRT SystemX, Teclib' et d'autres partenaires, ce plugin aide les équipes informatiques à évaluer l'empreinte environnementale de leurs actifs directement depuis GLPI. Nouveautés Cette version apporte des […]
06.05.26
Votre PDG vous demande pourquoi le traitement des incidents au service financier prend deux fois plus de temps. Vous connaissez la réponse. Vous vous penchez sur ces tickets depuis des semaines. Mais savoir n’est pas la même chose que montrer, et sans tableau de bord adapté, ce travail reste invisible. C’est là qu’intervient le plugin Advanced GLPI Dashboards [...]
29.04.26
Deux nouvelles versions de GLPI sont disponibles ! Nous publions aujourd’hui les versions 11.0.7 et 10.0.25. Ces versions contiennent des correctifs de sécurité, et nous vous encourageons à effectuer la mise à jour. De nombreuses corrections de bogues ont également été apportées. Consultez les journaux des modifications pour plus de détails : Vous pouvez télécharger les nouvelles archives sur GitHub : Vous trouverez ci-dessous la liste des failles de sécurité corrigées dans […]
28.04.26
Félicitations ! Nous sommes heureux d'annoncer l'arrivée de notre nouveau partenaire Silver du réseau GLPI au Brésil : Pronet. Fort de 35 ans d'expérience dans le secteur informatique, Pronet s'est forgé une solide réputation en tant que spécialiste de confiance dans les domaines de l'assistance technique et de la gestion des services informatiques (ITSM). Grâce à une approche structurée des processus, des indicateurs de performance et du service client, Pronet aide […]
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 […]
1 2 3 19
chevron-droit
LinkedIn Facebook Pinterest YouTube rss Twitter instagram facebook-vide rss-vide linkedin-vide Pinterest YouTube Twitter instagram