Strumenti per unit test in Magento


23

Cosa usi per Unit Testing in Magento? O cosa sai di Unit Testing e Magento? Sia che tu faccia TDD o desideri semplicemente avere una copertura unit test per i componenti del tuo progetto, hai bisogno di alcuni strumenti per farlo.

Il primo approccio di base è usare la semplice phpunit, ma ci sono cose che richiedono ulteriori espedienti per rendere "testabile" Magento.

Tutto ciò con cui ho lavorato è legato a phpunit:

Ci sono altre opzioni?

Risposte:


14

Dai un'occhiata a PHPSpec con MageSpec se vuoi qualcosa non basato su PHPUnit, ma con qualche integrazione Magento. È utilizzabile, ma non è del tutto pronto per la prima serata. Per deridere PHPSpec 2 usa Prophecy (il che è fantastico), ma non gli piacciono né i getter magici né i setter. Per questo motivo è meglio usare Mockery invece, che funziona benissimo (e mi piace anche molto).

Poi c'è anche Behat con BehatMage per BDD con Magento. Vale la pena dare un'occhiata, ma non riesce ad esempio se si desidera testare diverse visualizzazioni dello store su domini diversi.

C'è anche un'estensione di BehatMage chiamata MageBehat (terribile denominazione!), Che è uscita da un hackathon. Fornisce molte azioni specifiche di Magento a BehatMage, ma ad essere onesti, alcune delle soluzioni alternative utilizzate sono più un hack che soluzioni reali ai problemi sottostanti. Tuttavia, è utilizzabile.

Spero di vedere entrambi i progetti - MageSpec e BehatMage - fiorire in futuro.


Grazie Vinai per la tua risposta. Conosco BehatMage e il lavoro svolto dal team di Inviqa / Session Digital (non è chiaro per me la loro struttura aziendale) ... Stavo cercando solo cose phpunit, Behat / BehatMage non è così attraente per me, ho giocato con MageSpec qualche tempo fa.
FlorinelChis,

L'inglese non è la mia lingua madre, i dettagli che ho fornito avrebbero potuto essere più chiari. Sto facendo delle ricerche per il Magento User Group di Londra - Meetup di dicembre.
FlorinelChis


3

Dovresti andare con EcomDev PHPUnit .

Personalmente credo che tutti gli sviluppatori di Magento debbano cercare una soluzione di unit test coerente. EcomDev fornisce il più comunemente usato e maturo di questi framework in modo da avere già un discreto pool di sviluppatori con esperienza. L'uso di un singolo framework riduce anche la necessità di installare un bajillion di framework diversi.

EcomDev PHPUnit ha questa strana convenzione di mettere i test direttamente accanto al codice di produzione, tuttavia. Fortunatamente, questo può essere facilmente risolto modificando alcune righe di codice. Anche EcomDev si prende una bella pausa con gli aggiornamenti (anche se il repository Github mostra segni di attività, quindi sono chiaramente ancora vivi).


Quindi, detto tutto ciò, esiste un repository da qualche parte che ha una serie di unit test definiti (usando ecomdev_unittest) che testa le funzionalità di base? (So ​​che MTAF fa questo, ma ci sono test unitari predefiniti da qualche parte?)
ProxiBlue

1
@ProxiBlue No, non ne conosco nessuno. Questa è una buona idea per un progetto della comunità, tuttavia.
Thai Phan,

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.