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

When you are a major IT services provider operating across 16 countries, leaving any request to chance is simply not an option. For Econocom’s Product Care team—responsible for after-sales service and hardware warranties—having robust IT software is an absolute requirement for success. Between the technical workshop and the customer entry point, one unified solution stood […]
22.07.26
Félicitations ! Nous avons le plaisir d'annoncer notre nouveau partenaire Silver GLPI Network en France : Somone. Depuis 2006, Somone accompagne les entreprises dans leurs projets d'observabilité et de gestion informatique. Son expertise couvre le conseil, l'intégration, le maintien en conditions opérationnelles, le support, la formation ainsi que l'optimisation de plateformes. Dans cette dynamique, Somone s'appuie sur GLPI, solution ITSM open source de renom, pour […]
16.07.26
Nous sommes fiers d'annoncer cette nouvelle version du plugin Carbon pour GLPI, qui apporte des corrections de bugs ainsi que de nouvelles fonctionnalités mineures. Développé dans le cadre du projet IEN (Impact Environnemental du Numérique) avec l'IRT SystemX, Teclib’ et d'autres partenaires, ce plugin vous aide à évaluer l'impact environnemental de votre parc informatique. Vous pouvez télécharger […]
15.07.26
Félicitations ! Nous avons le plaisir d'annoncer notre nouveau partenaire Silver GLPI Network en France : Orsenna. Orsenna est un acteur majeur de la supervision et de l'observabilité des systèmes informatiques. Expert multi-constructeur, Orsenna accompagne les équipes informatiques dans la réussite de leurs projets de supervision. Notre expertise repose sur une maîtrise parfaite des solutions du marché et de leur interconnexion, permettant […]
13.07.26
Pendant deux jours, l'écosystème de la confiance numérique s'est réuni pour débattre de l'avenir des infrastructures informatiques. GLPI a eu le plaisir d'être aux côtés de son partenaire EORIS lors du Salon de la Souveraineté Numérique. À travers des démonstrations en direct, des échanges et des discussions enrichissantes, cet événement a mis en lumière une tendance claire : un intérêt croissant pour des alternatives capables de concilier performance opérationnelle et protection rigoureuse des données […]
08.07.26
Le salon GITEX AI Europe, qui s'est tenu les 30 juin et 1er juillet à Berlin, a permis aux équipes de GLPI d'entrer en contact avec des acteurs clés du secteur technologique européen. Durant ces deux jours, nous avons présenté notre approche de la souveraineté numérique — un domaine où le modèle Open Source apporte des solutions concrètes pour la gestion des infrastructures informatiques. Des échanges constructifs […]
01.07.26
Félicitations ! Nous avons le plaisir d'annoncer notre nouveau partenaire Silver GLPI Network en Roumanie : Quartz Matrix. Quartz Matrix est une entreprise technologique roumaine spécialisée dans la transformation numérique pour trois secteurs clés : l'éducation, l'industrie et l'administration publique. Forte d'une solide expertise dans le domaine des TIC, l'entreprise développe et intègre des solutions couvrant le cloud computing, l'IoT, l'intelligence artificielle, la cybersécurité et […]
01.07.26
Les 23 et 24 juin 2026, l’équipe GLPI a participé au congrès CoTer Numérique à Reims, l’un des rendez-vous annuels incontournables pour les décideurs informatiques des collectivités territoriales françaises. Un stand au cœur des échanges : installée au stand n° 3 (Espace Parvis), l’équipe a passé deux jours à rencontrer un large éventail de […]
30.06.26
GLPI a participé à VivaTech 2026, qui fêtait sa 10e édition — le plus grand événement mondial dédié aux technologies, organisé à Paris — et qui, cette année, a tenu toutes ses promesses. Installée au pavillon « We Are Normandy » (stand 2B59 – hall 7.2), l’équipe Teclib’ a passé trois jours à nouer des relations avec des responsables institutionnels, des clients issus de grandes entreprises, des représentants des collectivités locales, […]
29.06.26
Nous informons la communauté GLPI de plusieurs failles de sécurité identifiées dans un certain nombre de plugins communautaires. Des mises à jour sont disponibles et doivent être déployées sans délai sur toutes les instances concernées. Plugins concernés et failles Les failles identifiées présentent différents niveaux de gravité, notamment une faille critique d’exécution de code à distance (RCE) dans GenericObject (CVSS 8,9), plusieurs […]
25.06.26
Le vendredi 12 juin, toute l'équipe Teclib' s'est réunie à Caen, où est basée notre équipe technique, à l'occasion du Teclib' Day : une journée bien remplie consacrée aux bilans semestriels, aux projets à venir et à un véritable moment de cohésion d'équipe. Matin : bilans semestriels au MoHo La journée a débuté au MoHo, un espace de coworking créatif situé au cœur de Caen, autour d'un café et […]
24.06.26
Deux nouvelles versions de GLPI sont disponibles : les versions 11.0.8 et 10.0.26 corrigent plusieurs failles de sécurité critiques récemment découvertes. La mise à jour est vivement recommandée ! 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 ces versions de correction : […]
23.06.26
Vous pouvez la télécharger sur le projet GitHub de GLPI Agent : https://github.com/glpi-project/glpi-agent/releases/tag/1.18 Cette nouvelle version est essentiellement une mise à jour de sécurité visant à corriger les failles suivantes : Cette version comprend également quelques corrections de bogues : vous pouvez consulter le détail des modifications dans le journal des modifications officiel disponible en ligne ici : https://github.com/glpi-project/glpi-agent/blob/1.18/Changes Concernant l'installation, voici ce qu'il faut retenir : cette fois-ci, nous recommandons vivement […]
17.06.26
Nous avons le plaisir d’annoncer l’arrivée d’un nouveau partenaire Silver GLPI Network en Pologne : OpenIT. OpenIT est une société polonaise de services informatiques qui aide les entreprises et les institutions à gérer leurs technologies de manière fiable, sécurisée et sans complexité inutile. Du service d’assistance à l’administration des serveurs, en passant par la cybersécurité, Microsoft 365, la virtualisation et les solutions cloud, OpenIT fournit un accompagnement informatique complet et sur mesure […]
10.06.26
Félicitations ! Nous avons le plaisir d'annoncer l'arrivée d'un nouveau partenaire Silver du réseau GLPI en Suisse : Forfirm Consulting Sagl. Fondée en 2014, Forfirm est une société de conseil spécialisée dans les TIC et le numérique, la finance, ainsi que la gouvernance, les risques et la conformité (GRC). Avec des bureaux à Zurich et à Lugano, l'entreprise est au cœur de l'écosystème entrepreneurial suisse et accompagne […]
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 […]
1 2 3 19
chevron-droit
LinkedIn Facebook Pinterest YouTube rss Twitter instagram facebook-vide rss-vide linkedin-vide Pinterest YouTube Twitter instagram