Documentatie · Ontwikkelaarsdocumentatie

Testgids

Deze pagina beschrijft op hoofdlijnen de testaanpak van de plugin. De interne testarchitectuur, bootstrap-stubs, fixture-lay-out en de exacte inhoud van de testsuite worden hier niet gepubliceerd.

Wat bijdragers moeten weten

  • De plugin wordt geleverd met een PHP-unittestsuite die lokaal en in de continuous integration van het project draait.
  • Tests zijn geschreven met PHPUnit en zijn gericht op PHP 8.1 of nieuwer, wat overeenkomt met de runtime-vereiste van de plugin zelf.
  • Nieuwe gedragswijzigingen worden geacht vergezeld te gaan van tests wanneer het gedrag redelijkerwijs door unittests kan worden getest.

Voor de inrichting van de omgeving (PHP, Composer, WordPress) zie Local Development Setup. Voor de conventies die nieuwe code moet volgen, zie Coding Standards.

De interne organisatie van de testsuite, de helpers die deze gebruikt en de private continuous-integration-werkstroom zijn implementatiedetails.

Ondersteunde openbare integratie-oppervlakken

Geef bij de integratie met de plugin de voorkeur aan deze stabiele oppervlakken:

Interne klassennamen, optiesleutels, databasetafels, REST- en AJAX-endpoints, cron-hooknamen, capability- en nonce-identificaties en release-/update-infrastructuur worden behandeld als implementatiedetails. Deze kunnen tussen releases zonder voorafgaande kennisgeving wijzigen en maken geen deel uit van het openbare integratiecontract.

Stabiliteits- en wijzigingsbeleid

Alles wat hierboven niet als ondersteund openbaar oppervlak is vermeld, wordt beschouwd als een intern implementatiedetail. Interne API's, opslaglay-out en beveiligingsimplementatie kunnen tussen releases wijzigen. Vertrouw hier niet op vanuit code van derden, thema's of externe systemen. Directe databaseschrijfacties worden niet ondersteund.

Kennisgeving openbare documentatie. Deze pagina biedt uitsluitend een integratie-overzicht op hoofdlijnen. Interne implementatiedetails, private API's, opslaginternals en beveiligingsgevoelige release-infrastructuur worden afzonderlijk onderhouden en maken geen deel uit van de openbare documentatie. Ondersteunde integratie-oppervlakken zijn de gedocumenteerde shortcodes, template-overrides, de instellingen-UI en alle uitbreidingspunten die expliciet in deze sectie zijn gepubliceerd.