Documentazione · Documentazione per gli sviluppatori
Guida ai test
Questa pagina descrive l'approccio ai test del plugin a livello generale. L'architettura di test interna, gli stub di bootstrap, il layout delle fixture e il contenuto esatto della suite di test non sono pubblicati qui.
Cosa devono sapere i contributori
- Il plugin viene fornito con una suite di unit test PHP che viene eseguita localmente e nella continuous integration del progetto.
- I test sono scritti con PHPUnit e sono destinati a PHP 8.1 o versioni successive, in linea con i requisiti di runtime del plugin stesso.
- Ci si aspetta che le nuove modifiche comportamentali siano accompagnate da test quando il comportamento può essere ragionevolmente verificato tramite unit test.
Per la configurazione dell'ambiente (PHP, Composer, WordPress) consultare la Guida alla configurazione dello sviluppo locale. Per le convenzioni che il nuovo codice deve seguire, consultare gli Standard di codifica.
L'organizzazione interna della suite di test, gli helper utilizzati e il flusso di lavoro privato di continuous integration sono dettagli di implementazione.
Superfici di integrazione pubbliche supportate
Quando si effettua l'integrazione con il plugin, preferire queste superfici stabili:
- L'interfaccia utente delle impostazioni di amministrazione del plugin.
- Gli shortcode documentati.
- Le sovrascritture dei template a livello di tema, come descritto in Sistema di template e sovrascritture.
- La Panoramica per gli sviluppatori generale per l'orientamento.
I nomi delle classi interne, le chiavi delle opzioni, le tabelle del database, gli endpoint REST e AJAX, i nomi degli hook cron, gli identificatori di capability e nonce, e l'infrastruttura di rilascio / aggiornamento sono trattati come dettagli di implementazione. Possono cambiare tra i rilasci senza preavviso e non fanno parte del contratto di integrazione pubblica.
Politica di stabilità e modifiche
Tutto ciò che non è elencato sopra come superficie pubblica supportata è considerato un dettaglio di implementazione interna. Le API interne, il layout di archiviazione e l'implementazione della sicurezza possono variare tra i rilasci. Non dipendere da essi da codice di terze parti, temi o sistemi esterni. Le scritture dirette nel database non sono supportate.
Avviso sulla documentazione pubblica. Questa pagina fornisce solo una panoramica di integrazione di alto livello. I dettagli di implementazione interna, le API private, i dettagli interni di archiviazione e l'infrastruttura di rilascio sensibile alla sicurezza sono gestiti separatamente e non fanno parte della documentazione pubblica. Le superfici di integrazione supportate sono gli shortcode documentati, le sovrascritture dei template, l'interfaccia utente delle impostazioni e tutti i punti di estensione esplicitamente pubblicati in questa sezione.