Come utilizzare phpunit installato dal compositore?

Voglio iniziare unità di test del mio symfony 2 applicazione con phpunit. Ho installato phpunit utilizzando compositore (per il progetto relative alle dipendenze).
http://www.phpunit.de/manual/current/en/installation.html

Come faccio ora eseguire il comando phpunit su Zend Server? Non ho pera installato.

InformationsquelleAutor Tjorriemorrie | 2012-12-07



6 Replies
  1. 72

    Se avete seguito la documentazione è stata impostata la phpunit/phpunit dipendenza come una “dev-dipendenza’.

    Se non si dispone di compositore, è necessario installare prima. Questo è spiegato nella documentazione: Installazione *nix o Installazione Di Windows.
    Se avete già installato compositore, è una buona pratica per l’aggiornamento del compositore per l’ultima versione eseguendo il self-update comando:

    $ php composer.phar self-update

    Dopo che l’hanno fatto, è necessario installare tutte le dipendenze, tra cui il dev dipendenze. Questo viene fatto eseguendo il update comando con il --dev switch:

    $ php composer.phar update --dev

    Tutte le dipendenze installate nel vendor directory. PHPunit viene eseguito dalla console. Compositore automatico mettere il file della console all’interno del vendor/bin directory. È necessario eseguire il phpunit file lì:

    $ vendor/bin/phpunit -c app/

    Il -c interruttore dice PHPUnit a cercare il file di configurazione nella app directory, Symfony2 già impostato la configurazione corretta per eseguire tutti i test che sono in <bundle>/Tests directory.

    AGGIORNAMENTO (05-04-2013)

    Compositore ha cambiato la loro aggiornare/installare i comandi. update installare dev dipendenze di default, e se si desidera installare dev dipendenze, è necessario utilizzare il --dev opzione.

    AGGIORNAMENTO (11-06-2013)

    Compositore ha cambiato di nuovo ai comandi, il install comando installerà anche il dev dipendenze.

    • Aha! perso l’ –dev :p Comunque, ottengo il seguente errore: Warning: include(C:\Program Files (x86)\Zend\Apache2\Program Files (x86)\Zend\Ap ache2\htdocs\project1\vendor\phpunit\phpunit\PHPUnit\TextUI\Command.php): failed to open stream: No such file or directory in C:\Program Files (x86)\Zend\Apache 2\htdocs\project1\vendor\composer\ClassLoader.php on line 150. Il file non esiste però.
    • Ho continuato a fare il mio errore qui: stackoverflow.com/questions/13765651/…
    • Volevi dire “update non installare dev dipendenze da predefinito”?
    • no, il comando di aggiornamento verrà installato dev dipendenze per impostazione predefinita
    • Er, sembra che ho bisogno di correre compositore di auto-aggiornamento.
    • Ho finito di installare tutte le dipendenze per PHPUnit smettere di lamentarsi: php-invoker, dbunit, phpunit-selenio e phpunit-storia. Non so perché ha bisogno di tutto questo.
    • Per quanto riguarda gli aggiornamenti, Perché il compositore continuano a cambiare i loro comandi non compatibile modi?
    • i comandi sono stati cambiati una volta. Ed è tornato nel 2013, dove il Compositore era ancora all’inizio dello sviluppo.

  2. 23

    Che dire di più compositore modo?

    composer exec phpunit

    Può essere utilizzato per ogni file binario in vendor/bin.

  3. 15

    AGGIORNAMENTO (12-02-2014)

    Compositore e PHPUnit, hanno cambiato il loro comandi.
    Il comando di installazione installerà anche il dev dipendenze:

    Compositore.json:

    ...
    "require-dev": {
        "phpunit/phpunit": "3.7.*"
    },

    Eseguirlo:

    $ composer.phar update --prefer-dist --dev

    Ora è possibile eseguire il test da:

    $ bin/phpunit -c /app

    Applausi,

    • si può digitare ‘compositore.phar update –help’ ?
  4. 9

    Mi piace definire uno script all’interno di composer.json, in modo che io posso solo correre:

    $ composer test
    # ... runs phpunit

    Per farlo, ho bisogno di modificare composer.json per contenere una voce come questa:

    "scripts": {
        "test": [
            "phpunit tests/*.php"
        ]
    }
  5. 6

    Per Symfony 3 aggiungere "phpunit/phpunit": "5.4.*" per il "require-dev" sezione composer.json ed esecuzione di test di applicazioni directory root con:

    ./vendor/bin/phpunit tests
    • Vuoi dire compositore.json, naturalmente. 🙂
    • Grazie, risolto. 🙂
    • Naturalmente, se si sta utilizzando una vecchia layout di progetto, il comando sarebbe qualcosa di simile ./venditore/bin/phpunit src/AppBundle/Test
  6. 4

    Aggiungere come dev dipendenza, nella directory del progetto:

    composer require --dev "phpunit/phpunit=4.8.*"

    Installato phpunit ora può essere eseguito con:

    ./vendor/bin/phpunit
    • È ora possibile utilizzare la versione: 5.3.* invece.

Lascia un commento