Dokumentation · Entwickler-Dokumentation

Test-Leitfaden

Diese Seite beschreibt den Testansatz des Plugins auf einer übergeordneten Ebene. Die interne Testarchitektur, Bootstrap-Stubs, das Fixture-Layout und die genauen Inhalte der Testsuite werden hier nicht veröffentlicht.

Was Mitwirkende wissen müssen

  • Das Plugin wird mit einer PHP-Unit-Testsuite ausgeliefert, die lokal und in der kontinuierlichen Integration (CI) des Projekts ausgeführt wird.
  • Tests sind mit PHPUnit geschrieben und richten sich nach PHP 8.1 oder neuer, was den Laufzeitanforderungen des Plugins selbst entspricht.
  • Es wird erwartet, dass neue Verhaltensänderungen von Tests begleitet werden, sofern das Verhalten vernünftigerweise durch Unit-Tests überprüft werden kann.

Informationen zur Einrichtung der Umgebung (PHP, Composer, WordPress) finden Sie unter Lokale Entwicklungsumgebung. Die Konventionen, denen neuer Code folgen sollte, finden Sie unter Coding Standards.

Die interne Organisation der Testsuite, die von ihr verwendeten Hilfsprogramme und der private Continuous-Integration-Workflow sind Implementierungsdetails.

Unterstützte öffentliche Integrationsschnittstellen

Wenn Sie eine Integration mit dem Plugin durchführen, bevorzugen Sie diese stabilen Schnittstellen:

Interne Klassennamen, Option-Keys, Datenbanktabellen, REST- und AJAX-Endpunkte, Cron-Hook-Namen, Berechtigungs- (Capability) und Nonce-Identifikatoren sowie die Release- und Update-Infrastruktur werden als Implementierungsdetails behandelt. Sie können sich zwischen den Versionen ohne vorherige Ankündigung ändern und sind nicht Teil des öffentlichen Integrationsvertrags.

Stabilitäts- und Änderungsrichtlinie

Alles, was oben nicht als unterstützte öffentliche Schnittstelle aufgeführt ist, gilt als internes Implementierungsdetail. Interne APIs, das Speicherlayout und Sicherheitsimplementierungen können sich zwischen den Versionen ändern. Verlassen Sie sich nicht in Code von Drittanbietern, Themes oder externen Systemen darauf. Direkte Datenbank-Schreibzugriffe werden nicht unterstützt.

Hinweis zur öffentlichen Dokumentation. Diese Seite bietet nur eine allgemeine Integrationsübersicht. Interne Implementierungsdetails, private APIs, Speicherinterna und sicherheitsrelevante Release-Infrastrukturen werden separat gepflegt und sind nicht Teil der öffentlichen Dokumentation. Unterstützte Integrationsschnittstellen sind die dokumentierten Shortcodes, Template-Overrides, die Einstellungs-Benutzeroberfläche und alle in diesem Abschnitt explizit veröffentlichten Erweiterungspunkte.