Test di unità corretti in WordPress


8

Esistono diversi thread disponibili per il test unitario in WordPress. Per quanto riguarda, ci dovrebbe essere un test unitario adeguato per ogni pezzo di personalizzazione fatto in WordPress.

Ho controllato un paio di plugin e articoli sullo stesso. Ecco alcuni.

  1. http://codex.wordpress.org/Theme_Unit_Test
  2. http://wptest.io/
  3. https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/

Ora, con l'unità PHP, possiamo scrivere casi di test secondo le nostre necessità. I casi di test possono essere scritti per funzionalità di base e personalizzazione.

Che dire di Unit Testing automatizzato per temi con plugin pesanti e personalizzazione, ad esempio Mega Menu, compositore visivo, personalizzazione in Woo Commerce.

Come si può fare? Qualche standard per unit test per siti sviluppati con temi premium e plugin con un alto livello di personalizzazione?


non sono sicuro di quale sia la domanda qui. unit test è unit test, perché testare un codice dovrebbe essere in qualche modo diverso se usato come plugin?
Mark Kaplun,

1
Stiamo cercando di trovare una via d'uscita standard per Unit Test automatizzato che funzionerà con qualsiasi tipo di sviluppo in Wordpress. Non importa cosa?
Trimantra Software Solution,

standard per cosa? phpunit è lo strumento standard, ma lo sai. Ogni test unitario è ovviamente diverso in base ai requisiti dell'unità specifica
Mark Kaplun,

Standard per scrivere codice e sito Web efficienti con qualità.
Trimantra Software Solution,

I test unitari vengono utilizzati per scoprire le regressioni quando il codice viene modificato, in realtà non hanno molti vantaggi in uno sviluppo del sito "unico" che non avrà molti cambiamenti o quando avrà un cambiamento sarà così importante tutto il test romperà. Il test unitario da solo non migliora il codice in alcun modo, per renderlo migliore è necessario utilizzare migliori pratiche di progettazione del software.
Mark Kaplun,

Risposte:


8

Penso che ciò che stai cercando sarebbe in realtà tecnicamente chiamato test funzionale , test di integrazione o test di accettazione . Sembra che tu voglia testare il comportamento del front-end del tuo sito Web (o il comportamento del front-end di un plugin o di un tema), non di ogni unità del codice stesso. Potresti utilizzare uno strumento come PHPUnit per testare il tuo codice PHP e uno come QUnit per testare il tuo codice JS, ma avrai bisogno di uno strumento diverso per testare il comportamento effettivo del sito Web (o funzionalità plugin / tema) come un tutto integrato .

Sfortunatamente, i test di accettazione sono ancora piuttosto giovani nello spazio di WordPress. Ci sono alcuni plugin o temi che lo fanno, ma non esiste un metodo "core" (ma vedi trac ticket # 34693 ). Non è ancora emerso necessariamente uno strumento di "best practice" di consenso. Quindi, per quanto riguarda gli strumenti specifici di WordPress, questa è un'area che viene ancora esplorata. (Io stesso sto ancora iniziando a esplorare l'accettazione testando un plugin WordPress.)

Tuttavia, ci sono molti strumenti diversi per i test di accettazione, semplicemente non sono stati creati appositamente per WordPress. E va bene. Perché quando stai testando il comportamento del front-end di un sito, in realtà non ha molta importanza ciò che sta alimentando il back-end. Quindi uno strumento che può eseguire test su un sito creato da zero probabilmente funzionerà molto bene anche per un sito WordPress o qualsiasi altro sito.

Poiché WordPress è scritto in PHP e tende a utilizzare PHPUnit per i test, Codeception è una scelta naturale per questo. È un framework che consente di creare unit test (con PHPUnit), test funzionali e test di collaudo, che è possibile eseguire con un singolo comando. Penso che forse questo è proprio il tipo di cosa che stai cercando. In tal caso, probabilmente vorrai anche provare WP Browser , che è un insieme di estensioni specifiche di WordPress per Codeception.

Se esiste uno strumento emergente per test di accettazione dei plugin di WordPress, direi che potrebbe essere Codeception. Ma per quanto ne sappia, questa è ancora una cosa giovane tra la maggior parte degli sviluppatori di WordPress, quindi dovremo aspettare e vedere cosa accadrà in futuro. Non esitate a saltare e iniziare ad usarlo comunque, forse farà tendenza!


Aggiornamento 12-12-2017

Sto usando WP Browser per testare il plugin WordPoints e ne sono rimasto contento. Ho anche creato un repository che dimostra come eseguire i test di accettazione del browser WP su Travis CI . Nell'ecosistema WordPress non esiste ancora uno standard di fatto, ma Codeception + WP Browser rimane una delle opzioni più importanti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.