2009-06-08 17 views
31

Esiste qualche integrazione di PHPUnit con Eclipse PDT?Eclipse PDT e PHPUnit?

In caso contrario, ci sono piani per farlo?

+1

Potrei suggerire di aprire un bug report? –

risposta

7

È possibile integrare PHPUnit con PDT in un modo semplice (queste impostazioni non sono completamente generiche ma dovrebbero essere un buon punto di partenza).

  1. Selezionare Esegui> Strumenti esterni> configurazioni Strumenti esterni
  2. Creare un nuovo programma
  3. Impostare la posizione per puntare al tuo eseguibile (/ usr/bin/phpunit su linux)
  4. Impostare la directory di lavoro per utilizzare la variabile $ {workspace_loc}
  5. Impostare gli argomenti su $ {percorso_risorse}

Selezionare ora Esegui> Strumenti esterni> PHPUnit per eseguire il file di test selezionato. Ciò esegue semplicemente phpunit e invia STDOUT al terminale Eclipse. Semplice ma efficace.

Successivamente, è possibile utilizzare l'icona con una freccia verde e una casella degli strumenti rossa per eseguire PHPUnit senza dover navigare nei menu.

+0

Grazie per il suggerimento! L'ho fatto in modo un po 'diverso: Working Directory = "$ {workspace_loc} \ nome-progetto"; Argomenti = "test-cartella". Ho anche dovuto aggiungere una variabile di ambiente (scheda "Ambiente"): PHPBIN = "C: \ path \ to \ php.exe" – Michael

+0

per eseguire il debug in PHPUnit, configurare xDebug in php.ini e impostare la variabile ambientale XDEBUG_CONFIG come idekey = 123456 – Raaghu

5

(disclaimer: non sono assolutamente lo sviluppatore del progetto di cui sto parlando qui, solo un utente ^^ (E come non conosco JAVA, sarebbe molto difficile per me contribuire contribuendo codice ... Quindi questo è il mio modo di aiutare :-)))

ci sono attualmente dei lavori in corso su quel lato: qualche settimana fa (forse non più di due settimane), il primo di una progetto di integrazione phpunit in Eclipse è stato rilasciato:

Cosa fa:

  • permette di lanciare i test PHPUnit da Eclipse
  • e un po ' "indizio visivo" di ciò che sta accadendo
  • che è, in qualche modo, una migliore/più user-friendly rispetto all'approccio proposto da Sebastian sul wiki di phpunit.

Per una sorta di screenshot, vedere http://code.google.com/p/phpunit4eclipse/wiki/j2phpUnitWrapper


Purtroppo, non è sviluppato come un plugin Eclipse (ancora?):

  • si tratta di un progetto Java separata, che lancia phpunit
    • o qualcosa del genere, per quanto mi riguarda può dire ...
  • che significa:
    • non come ben integrati in Eclipse come potrebbe
    • cosa più importante è quando si fa doppio clic su una classe di test/metodo, doesn 't si arriva a quella classe/metodo (perché i test' risultato sono indicati dal progetto JAVA, e l'/ metodo di classe di test è in un altro, PHP, del progetto)
  • è ancora abbastanza difficile installare:
    • non ho gestito con successo per installarlo in Eclipse PDT
    • ho dovuto installare "Eclipse IDE per sviluppatori Java", e, quindi, installare il plugin PDT in questo uno (che funziona bene, ma non è "facile")

in ogni caso, questo è un lavoro in progress, il progetto è ancora molto giovane, ed è solo un primo passo ...


un gruppo Google è stato creato per questo progetto a poco tempo fa: http://groups.google.com/group/phpunit4eclipse-user/

Attualmente è vuoto, ma sono sicuro che sarebbe d'aiuto se alcune persone si sono unite in, hanno dato i loro pensieri, e perché no, aiutato!

+0

Considerando che l'autore di questa domanda non è su SO da un mese e mezzo, probabilmente non otterrà questa risposta ... Ma, hoppeful, le altre persone lo vedranno, e porteranno l'attenzione sul progetto^^ –

-1

Hai e integrazione di PHPUnit su PDT in Zend Studio. C'è anche un'edizione CE.

23

Abbiamo sviluppato un plug-in Eclipse chiamato MakeGood che integra PHPUnit e più framework di testing con Eclipse PDT.

MakeGood è un test runner continuo per eseguire test di unità su Eclipse PDT.

MakeGood fornisce feedback rapidi da flussi di lavoro automatizzati per l'esecuzione di test, errori di rilevamento e errori irreversibili. Ciò consentirà agli sviluppatori di eseguire Test Driven Development (TDD) e Test continuo.

Per ulteriori informazioni, visitare il nostro sito web all'indirizzo: https://github.com/piece/makegood/wiki

A screenshot of MakeGood

44

Vedi Eclipse Plugin PHP Tool Integration (PTI) che prevede l'integrazione delle seguenti caratteristiche per Eclipse:

  • PHP_CodeSniffer
  • PHPUnit
  • PHP Depend
  • PHP Copia/Incolla Detector

siti di aggiornamento (Aiuto - Installa software - Aggiungi ...):

ultima versione stabile: http://www.phpsrc.org/eclipse/pti/

versione di sviluppo: http://www.phpsrc.org/eclipse/pti-dev/

+0

Wow - è stato facile. Grazie per questo. – grefly

+2

sfortunatamente, non sono riuscito a trovare un modo per eseguire effettivamente i test delle unità PHP. Qualche suggerimento? – kellogs

+0

OK! L'ho installato .. e adesso? –

0

Eseguo anche PHPUnit come uno strumento esterno come DavidWinterbottom proposto.

Una cosa che aggiungo anche in base al tipo di progetto è nella scheda Opzioni di creazione e selezionando le prime opzioni dopo: "Esegui il builder:". Ciò fa sì che i test delle unità vengano eseguiti ogni volta che si salva un file. Questo è ottimo per ottenere un ciclo di feedback refact red-green veramente veloce.

ho postato l'intero passi con le immagini qui: http://nicholaslemay.blogspot.com/2010/02/using-eclipse-phpunit-as-automatic.html

0

Uso phpunit da Ant è possibile anche, e formica è nativamente supportato da Eclipse. Semplice avere un nuovo <exec executable="phpunit"> in un target e voilà, puoi usare phpunit in eclissi, tramite formica.

0

In seguito alla risposta @DavidWinterbottom (Eclipse Indigo):

  1. Selezionare il Esegui -> Strumenti esterni -> Strumenti di configurazioni esterne

  2. Creare un nuovo programma

  3. Imposta la posizione in modo che punti al tuo eseguibile (/usr/bin/phpunit su Linux, o il percorso per phpunit.bat su Windows)

  4. impostare gli argomenti di percorso assoluto alla cartella phpunit (C:\phpproject\testunit)

non ho potuto fare a farlo usando ${project_loc} o ${project_path} .

3

Esiste un'integrazione per Eclipse PDT e PHPUnit.sia PHPSRC e MakeGood funzionano bene anche se sono un fan di MakeGood per phpunit phpsrc viene fornito con altri gadget come CodeSniffer. Ho ramificato un PHPUnit CodeSniffer Standard on github che convalida la qualità dei test di phpunit che posso eseguire con il plugin CodeSniffer di PHP Tools di Eclipse. Questo ha aggiornamenti per il nuovo pacchetto phpunit come setUp e tearDown.

assicura che ci siano asserzioni nei test. Qualcosa devs piace lasciare fuori quando si cerca di soddisfare le metriche di copertura del codice no assertions in test

Fa in modo che non ci sia più di 1 asserzione per test. A best practice too many tests

La configurazione di PDT in Eclipse non è semplice.

C'è un sacco di piccoli dettagli coinvolti Ecco i passaggi di alto livello.

pear clear-cache 
pear upgrade pear 
pear update-channels 
pear upgrade --alldeps -f 
pear channel-discover pear.phpunit.de 
pear channel-discover pear.symfony-project.com 
pear channel-discover components.ez.no 
pear install --alldeps phpunit/PHPUnit 

[xdebug]

zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll" 
xdebug.remote_enable=1 
xdebug.remote_handler="dbgp" 
xdebug.remote_mode="req" 
xdebug.remote_port=9000  
xdebug.remote_host = "127.0.0.1" 
xdebug.remote_log="C:\xampp\php\logs" 

Mi ci sono voluti quasi 3 giorni per ottenere finalmente tutto giusto così ho messo insieme un video tutorial

Buona fortuna!

0

Per tutto utilizzando compositore su UNIX come macchina (Eclipse e xdebug installato):

cd <project-root> 
ln -s vendor/bin/phpunit phpunit.php 

Aperto eclissi, configurazione di esecuzione/debug aprire, creare una nuova configurazione di debug, e selezionare phpunit.php come file per eseguire il debug. Continua il resto del setup come al solito, imposta i breakpoint, il gioco è fatto.

Problemi correlati