PHPUnit via Compositore e PhpStorm

Ora sto cercando di ore per l’installazione PhpStorm per i test di unità. Qualunque cosa io faccia, ho questa

Process finished with exit code 1
Cannot find PHPUnit in include path ...

PHPUnit è (via riga di comando) accessibile da qualsiasi luogo; ho impostato il corretto percorso di inclusione e sono stati aggiunti PHPUnit a librerie esterne. Nessuna possibilità.

È possibile o lo è solo per lavorare con le installazioni di via PERA? Ho lavorato con tutte le relative domande, sono su Mac e PHPUnit è in esecuzione senza problemi tramite CLI.

  • Si dovrebbe aggiungere il percorso di PHPUnit classi in include_path variabile di php.ini. Dovrebbe funzionare (scusate, non ho testato io stesso da quando ho sto usando Compositore). Se questo non aiuta, quindi solo youtrack.jetbrains.com/issue/WI-13429
  • Già votato che uno 🙂
  • questa è una caratteristica che davvero nneds sarà presto incluso in PHPStorm.
InformationsquelleAutor shredding | 2012-10-10



6 Replies
  1. 62

    @aderuwe la risposta di opere, ma che config non è limitata al progetto, per tutti i progetti. Dal PHPStorm 6 (in realtà anche EAP versione PS-126.260) è possibile effettuare le seguenti operazioni:

    1. Andare a File -> Settings -> PHP -> PHPUNIT.
    2. Selezionare Use custom loader e quindi immettere il autoload.php file dai vostri progetti vendor. Questo autoloader sarà autoload tutte le dipendenze gestito dal Compositore (tra cui PHPUnit).
    3. Specificare il file di configurazione di default (questo è di solito phpunit.xml.dist dal progetto app directory).

    PHPUnit via Compositore e PhpStorm

    Che deve essere ripetuto per progetto, ma in quanto deve essere fatto una volta.

    È necessario configurare impostazioni predefinite in PHPStorm correttamente.

    1. Andare a Run -> Edit Configurations... o semplicemente fare clic sul menu a discesa sulla barra degli strumenti e selezionare Edit Configurations....
    2. Andare a Defaults -> PHPUnit
    3. Sotto Test Scope, selezionare Defined in configuration file
    4. Assicurarsi che il Interpreter options textfield è vuoto
    5. Andare a PHPUnit (sopra Defaults) e di eliminare qualsiasi voce sotto di esso (in modo che la prossima volta che si prova su un particolare file, etc. è necessario impostare uno nuovo, ma utilizzando il nuovo valore di default).

    PHPUnit via Compositore e PhpStorm

    • Qual è il tema, sembra incredibile.
    • Darcula
    • Infatti, poiché 126.260 questo è il modo per farlo! Votato up.
    • io sono un principiante, e facendo il compositore di installazione per la prima volta, ora come faccio a sapere dove trovare/fare il phpunit.xml.dist da includere nel Default Configuration File Impostazioni. Perché non è la risposta completa sempre?????
    • Questa è la risposta corretta.
    • per globale compositore configurazioni si dovrebbe usare ~/.composer/vendor/autoload.php

  2. 5

    Credo PhpStorm si basa sulla ricerca di PHPUnit in include_path di php.ini di per sé, non del tuo progetto.

    Si può provare ad aggiungere un progetto locale del fornitore bin/php.ini del include_path, ma alla fine questo mi sembra PhpStorm potrebbe trarre beneficio dal supporto compositore consente di installare ed eseguire il phpunit del progetto (se disponibile). Effettivamente c’è un problema aperto sul loro tracker quindi ti consiglierei di login c’e votarlo: http://youtrack.jetbrains.com/issue/WI-13429

  3. 2

    Voglio aggiungere che la versione corrente di PHPStorm (7.1) funziona bene solo con il versione precedente di PHPUnit (3.7). E non funziona con la versione 4.0 e superiori. Se avete scaricato phpunit.phar da http://phpunit.de, è possibile punto di PHPStorm tramite Impostazioni => PHP => PHPUnit => Percorso di phpunit.phar

    • QUESTO. Ho passato ore a cercare di capire questo e il mio PhpStorm è in grado di scaricare il georgiano di per sé, quindi ho dovuto scaricare manualmente. Grazie.
  4. 1

    PHPStorm ha un custom PHPUnit runner script ( ide-phpunit.php ) che utilizza internamente a che fare con diverse versioni di PHPUnit e fare l’IDE di integrazione e che è solo basandosi sul percorso di inclusione e il PEAR cartella layout.

    Per fare in modo che la esegue:

    public static function checkIncludePath()
    {
        //check include path
        $PHPUnitParentDirectory = self::getPHPUnitParentDirectory();
        if (is_null($PHPUnitParentDirectory)) {
            echo "Cannot find PHPUnit in include path (" . ini_get('include_path') . ")";
            exit(IDE_PHPUnit_Loader::FAILURE_EXIT);
        }
    }
    
    /**
     * @return null | string
     */
    private static function getPHPUnitParentDirectory()
    {
        $pathArray = explode(PATH_SEPARATOR, ini_get('include_path'));
        foreach ($pathArray as $path)
        {
            if (file_exists($path . DIRECTORY_SEPARATOR . 'PHPUnit/')) {
                return $path;
            }
        }
        return null;
    }

    Si può solo installare via compositore e aggiungerlo come un normale file eseguibile (ant/phing/native compito), ma si perdono tutte le caratteristiche lucido PHPStorm da offrire, come la barra di avanzamento, che salta per un test fallito e la copertura del codice di supporto.

    In modo da il codice si può dire che è necessario aggiungere una cartella denominata denominata PHPUnit un posto nel tuo percorso di inclusione. L’aggiunta di fornitore potrebbe aiutare lì, ma tenere a mente deve corrispondere caso quando si fa così.

    Fino PHPStorm supporta l’utilizzo di PHPUnit dal compositore o un phar non credo che si otterrà una migliore integrazione ( http://youtrack.jetbrains.com/issue/WI-13429 ) con utilizzo di pero ma hacking il percorso di inclusione potrebbe lavorare fuori.

    Il PHPStorm ragazzi hanno fatto alcuni aggiornamenti sul corridore per 3,7 e di solito sono abbastanza sensibile ai cambiamenti di PHPUnit 🙂

  5. 1

    Ho scoperto che se ho tutti i miei “Test” directory, e una suite di test definiti in un file di configurazione “Test/phpunit.xml” posso semplicemente di impostare una Configurazione”, in questo modo:

    1. Aprire il Run/Debug di Configurazione della finestra di dialogo facendo clic Esecuzione e Modifica delle Configurazioni.
    2. Fare clic su + sulla barra degli strumenti e scegliere PHPUnit (per unit test eseguito in locale).
    3. Compilare il Nome in alto con quello che mai ti piace.
    4. Set Test di ambito alla directory in cui il test si trovano.
    5. Fare clic su OK
    6. Quindi eseguire la nuova configurazione.

    PHPUnit via Compositore e PhpStorm

    Phpstorm Run|finestra di dialogo di Configurazione

    • Con questo modo, non c’era più tempo per specificare il compositore auto-load script.

Lascia un commento