2012-05-08 11 views
7

Utilizzo di Zend Framework per alcuni progetti e voglio creare suite di test PHPUnit per loro. Sfortunatamente, Zend Framework nella sua versione attuale (1.11.x) supporta solo PHPUnit 3.5. Allo stesso tempo, vorrei anche iniziare a lavorare con il framework Symfony, che a sua volta supporta le nuove versioni di PHPUnit. La domanda quindi è: come posso eseguire più versioni di PHPUnit sulla mia macchina di sviluppo allo stesso tempo senza dover installare server separati o cose del genere?Come posso eseguire più versioni di PHPUnit sulla stessa macchina?

Sono in esecuzione OS X Lion (10.7) e utilizzo di apache e php (5.3.10) installati tramite MacPorts. Idealmente, mi piacerebbe finire in una situazione in cui potrei semplicemente digitare per es. phpunit5 nel terminale per eseguire la versione 3.5 e digitare phpunit6 per eseguire la versione 3.6 e così via.

+1

Succhia quando le API del fornitore impongono le nostre mani in versioni specifiche come questa. –

risposta

4

vi consiglio di controllare questo post del blog:

per un cuoco-ricetta, controllare il mio post sul blog:

Nel caso dei collegamenti smettere di lavorare:

  • pera supporta un interruttore --installroot
  • esempio:

    pera installare --installroot/qualche/percorso/phpunit34 pear.phpunit.de/PHPUnit-3.4.15

una volta l'installazione, potrebbe essere necessario aggiungere /some/path/phpunit34/usr/bin/-$PATH o creare un link simbolico a /usr/bin come il post sul blog illustra.

HTH

+2

La PERA fa piangere il piccolo Gesù. –

+0

Grazie! Le istruzioni nel primo collegamento hanno fatto il trucco (perché non sono riuscito a scoprire che dopo ore di ricerca su Google rimane un mistero). Ho avuto un po 'di problemi con il percorso di inclusione fino a quando ho capito che ovviamente ho bisogno di definire il percorso dei file framework PHPUnit, non quello che php sta usando (il comando pera config-show | grep php_dir mi ha gettato un po', stava indicando il mio binario php). –

1

La risposta accettata funziona quando si installa phpunit 3.4, ma se si desidera installare phpunit 3.5 (che può essere anche usato per test di unità all'interno di un progetto Zend, anche se Zends propri test potrebbe non tutti passano) devi seguire un percorso leggermente diverso. Sarà necessario installare le dipendenze per phpunit 3.5 separatamente prima di installare phpunit, altrimenti alcune delle dipendenze forzeranno semplicemente un'installazione di phpunit 3.6:

Installare prima (si noti l'opzione -f, che forza l'installazione di una versione specifica) :

sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.symfony-project.com/YAML-1.0.2 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_Selenium-1.0.1 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_Timer-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/Text_Template-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_MockObject-1.0.3 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/File_Iterator-1.2.3 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_CodeCoverage-1.0.2 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/DbUnit-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit-3.5.15 

quindi seguire le istruzioni nel link della risposta accettato di modificare il percorso include e link simbolico in modo corretto.

0

PHPUnit ora offre in bundle file PHAR per tutti si tratta di versioni a https://phar.phpunit.de/

Basta scaricare la versione necessaria (s) e li chiamano utilizzando:

php phpunit-X.Y.Z.phar 

(Dove X.Y.Z è la versione PHPUnit)

I file PHAR possono essere facilmente sottoposti a aliasing per renderli disponibili a livello di sistema.

Problemi correlati