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

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 […]
08.12.25
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network au Brésil : Engemon IT. Engemon IT se distingue comme un partenaire stratégique qui s'attache à comprendre les besoins commerciaux et culturels de ses clients. Grâce à un portefeuille complet de matériel, de logiciels et de services, l'entreprise propose des solutions personnalisées en matière d'infrastructure et d'innovation, au service de tous types d'organisations, des entreprises aux grandes entreprises.
04.12.25
Congratulations! We are happy to announce our new Silver GLPI Network partner in Qatar: Code Blue Codeblue Technologies is a Qatar-based technology company specializing in software development, IT service management (ITSM), and IT asset management (ITAM) solutions. The company focuses on helping organizations streamline operations, enhance service delivery, and gain full visibility and control over their […]
04.12.25
Two new GLPI versions are available. Wednesday, December 3, 11.0.4 and 10.0.22 were shipped, but soon after a few annoying regressions has been detected, and so a need for new releases. Many bug fixes have also been made, read changelogs for more details: You can download the new archives on GitHub: You will find below […]
24.11.25
Félicitations ! Nous sommes heureux d'annoncer l'arrivée de CTL, notre nouveau partenaire Silver du réseau GLPI en Argentine. CTL est spécialisé dans les solutions complètes de supervision, de sécurité informatique et de gestion d'infrastructure. En tant que partenaire officiel GLPI, CTL propose un support technique spécialisé, des formations et des services de conseil. Son objectif est clair : aider les entreprises à optimiser leurs opérations technologiques et à renforcer leur sécurité.
17.11.25
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network en Angola : TIS Tech. TIS Tech est une société de conseil en technologies fondée en 2013 en Angola, dont le siège social est situé à Luanda. L'entreprise s'engage à mener la transformation numérique, portée par l'innovation et la promotion de la durabilité des entreprises dans le pays. Son objectif est d'offrir des solutions complètes, allant […]
13.11.25
Félicitations ! Nous sommes heureux d'annoncer notre nouveau partenaire Silver GLPI Network au Brésil : InterOp. Depuis plus de 30 ans, InterOp fournit des services informatiques : supervision et observabilité, sécurité de l'information, support technique et administration d'environnements. L'entreprise accompagne les organisations de toutes tailles et de tous secteurs de manière personnalisée, sécurisée et efficace. Son objectif est d'améliorer continuellement ses services.
10.11.25
Félicitations ! Nous sommes heureux d’annoncer notre nouveau partenaire Silver du réseau GLPI en Italie : IWS Consulting. IWS Consulting est une entreprise spécialisée dans les solutions informatiques et les projets de transformation numérique. Grâce à une approche axée sur le conseil et l’innovation, elle accompagne les organisations dans la gestion et l’évolution de leur infrastructure et de leurs applications. Ses deux domaines d’expertise travaillent en synergie pour optimiser […]
04.11.25
Une nouvelle version de GLPI est disponible : GLPI 11.0.2. Vous pouvez télécharger l’archive GLPI 11.0.2 sur GitHub. Voici également une liste des corrections de bogues importantes incluses dans cette version : De nombreuses nouveautés sont également apportées à la nouvelle HLAPI, désormais en version 2.1, afin d’ajouter des champs (notamment dans les tickets) qui manquaient auparavant. Nous fournissons également […]
27.10.25
Une journée pour célébrer la collaboration et l'innovation. La GLPI Partners Day 2025, organisée dans le magnifique hôtel Alfonso XIII de Séville 🇪🇸, a réuni nos partenaires officiels du monde entier pour une journée dédiée à l'innovation, à la collaboration et à l'avenir de GLPI. Cette 3e édition a été une véritable célébration de l'écosystème GLPI […]
13.10.25
Félicitations ! Nous sommes heureux d'annoncer l'arrivée d'Echo-9, notre nouveau partenaire Silver du réseau GLPI au Royaume-Uni. Echo-9 est un fournisseur leader de services partagés, spécialisé dans la fourniture de solutions innovantes aux organismes publics. Notre objectif est d'améliorer l'efficacité opérationnelle et de stimuler une croissance durable grâce à la mise en œuvre de technologies de pointe. 🌐 Site web : https://www.echo-9.org/ Nous sommes ravis […]
10.10.25
Félicitations ! Nous sommes heureux d'annoncer l'arrivée de notre nouveau partenaire Silver GLPI Network à Singapour : Unison Consulting Pte Ltd. Unison Consulting allie une expertise approfondie des services financiers, du reporting réglementaire et de l'intégration d'entreprise à des capacités de prestation technique éprouvées. Nos consultants ont mené des programmes de transformation complexes et stratégiques, s'appuyant sur un modèle de services gérés éprouvé qui garantit une optimisation continue, […]
1 2 3 17
chevron-right
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram