Apex Test Class
Les déploiements en production exigent que les classes de test Apex s'exécutent et réussissent ; ignorer ou manipuler la couverture est l'une des surprises les plus courantes le jour de la release.
Définition
Une classe de test Apex est une classe annotée @isTest contenant des méthodes de test qui exercent d'autres codes Apex ; Salesforce exige une couverture de test d'au moins 75 % à l'échelle de l'org, sans qu'aucun trigger individuel ne reste non couvert, avant que des métadonnées contenant de l'Apex puissent être déployées en production, bien que les sandboxes et les scratch orgs ne l'imposent pas de la même façon. Par défaut, les méthodes de test s'exécutent sur une copie fraîche et isolée des données de l'org, pas sur de vrais enregistrements, sauf si une méthode est explicitement marquée @isTest(SeeAllData=true), ce qui explique pourquoi des tests qui dépendent silencieusement des données de l'org réussissent en local mais échouent dans un pipeline CI/CD propre. Le pourcentage de couverture seul ne garantit pas qu'un test soit pertinent : des tests sans assertion qui n'existent que pour atteindre le seuil de 75 % passent la porte de déploiement sans rien tester réellement, une façon courante dont des pipelines "verts" livrent quand même une logique cassée. Les tests Apex ne couvrent en outre que le code, jamais le parcours de clics, ce qui explique pourquoi des connecteurs pour des outils de test d'interface comme Provar figurent sur la feuille de route de Serpent. Notre guide de pipeline CI/CD couvre l'exécution des tests Apex dans le cadre d'un build.
Comment cela fonctionne dans Serpent
Serpent exécute les tests Apex dans le cadre du preflight avant qu'un déploiement ne parte, pas après, de sorte qu'un échec de couverture ou d'assertion bloque la release au lieu d'apparaître en production. Les résultats de test et les logs restent attachés à la tâche qui les a déclenchés, ce qui permet de retracer les échecs jusqu'au changement qui les a causés. Voir la gestion des releases dans Serpent pour le fonctionnement des vérifications preflight.

Démarrez gratuitement. Sans carte bancaire, sans installation, sans engagement.
Configuration en moins de 15 minutes. Aucun recrutement DevOps nécessaire.
