Documentation · Documentation développeur

Guide de test

Cette page décrit l'approche globale de test de l'extension. L'architecture interne des tests, les stubs d'amorçage, la disposition des fixtures et le contenu exact de la suite de tests ne sont pas publiés ici.

Ce que les contributeurs doivent savoir

  • L'extension est livrée avec une suite de tests unitaires PHP qui s'exécute localement et dans l'intégration continue du projet.
  • Les tests sont écrits avec PHPUnit et ciblent PHP 8.1 ou version ultérieure, ce qui correspond aux exigences d'exécution de l'extension elle-même.
  • Les nouvelles modifications de comportement doivent être accompagnées de tests lorsque le comportement peut raisonnablement être testé par des tests unitaires.

Pour la configuration de l'environnement (PHP, Composer, WordPress), consultez la Configuration du développement local. Pour les conventions que le nouveau code doit suivre, consultez les Normes de codage.

L'organisation interne de la suite de tests, les helpers qu'elle utilise et le flux de travail d'intégration continue privé sont des détails d'implémentation.

Surfaces d'intégration publiques prises en charge

Lors de l'intégration avec l'extension, privilégiez ces surfaces stables :

Les noms de classes internes, les clés d'option, les tables de base de données, les points de terminaison REST et AJAX, les noms de hooks cron, les identifiants de capacités et de nonces, ainsi que l'infrastructure de publication / mise à jour sont traités comme des détails d'implémentation. Ils peuvent changer d'une version à l'autre sans préavis et ne font pas partie du contrat d'intégration public.

Politique de stabilité et de changement

Tout ce qui n'est pas répertorié comme une surface publique prise en charge ci-dessus est considéré comme un détail d'implémentation interne. Les API internes, la disposition du stockage et l'implémentation de la sécurité peuvent changer d'une version à l'autre. Ne dépendez pas d'eux à partir de codes tiers, de thèmes ou de systèmes externes. Les écritures directes dans la base de données ne sont pas prises en charge.

Avis de documentation publique. Cette page fournit uniquement un aperçu de haut niveau de l'intégration. Les détails d'implémentation interne, les API privées, les composants internes du stockage et l'infrastructure de publication sensible à la sécurité sont gérés séparément et ne font pas partie de la documentation publique. Les surfaces d'intégration prises en charge sont les shortcodes documentés, les surcharges de modèles, l'interface utilisateur des réglages et tous les points d'extension explicitement publiés dans cette section.