2015-08-03 8 views
6

PhpStorm ha una sorta di comportamento strano che mi sta facendo impazzire. Ho la configurazione del mio progetto per avere una directory source e una test. La directory source dovrebbe essere per codice produttivo, mentre la directory test dovrebbe contenere tutti i test phpunit.Come generare test in test/directory in PhpStorm?

In queste directory, la struttura delle cartelle è rispecchiato - se ho una classe \foo\Bar, poi c'è src/foo/Bar.php e test/foo/BarTest.php.

Ho segnato src/ e test/ come sorgente e directory test in PhpStorm, tuttavia, ogni volta che voglio creare una nuova suite di test per una classe, PhpStorm default per mettere la classe di test nella directory src/ vicino alla classe sotto esame.

È possibile cambiarlo, tuttavia diventa più fastidioso quando la stessa directory in test/ non esiste ancora. Invece di crearlo, PhpStorm rifiuterà semplicemente di creare quella suite di test per me.

Forse sto fraintendendo un po 'il concetto alla base della gestione dei test in PhpStorm - perché non può essere proprio quella brutta esperienza utente.

C'è qualcosa che sto facendo male o qualcosa che posso configurare per rendere la situazione meno dolorosa?

+1

No, niente di sbagliato. Semplicemente non funziona in questo modo - gli sviluppatori lo hanno codificato per comportarsi come è adesso. Ci sono biglietti su come cambiare questo comportamento allo stesso modo che hai descritto/desiderato .. ma finora non sembra che sia nella loro lista di priorità ... – LazyOne

+0

Io faccio clic su Genera test nella directory di test quindi scelgo la classe e lo spazio dei nomi corretto. – Robert

risposta

2

Si sta facendo in modo errato. Semplicemente non funziona in questo modo - gli sviluppatori lo hanno codificato per comportarsi come è adesso.

Originariamente IDE utilizzava la capacità di PHPUnit di generare classi di test (allora tale funzionalità faceva parte di PHPUnit effettivo). Quindi i creatori di PHPUnit hanno spostato questa funzionalità in un pacchetto separato (phpunit-skelgen) .. e dovevi installarlo manualmente/separatamente. Quindi gli sviluppatori hanno deciso di drop phpunit-skelgen support completely e hanno implementato l'implementazione corrente (che è anche più in linea con routine simili in altri IDE basati su piattaforme IDE/tecnologie supportate da tali IDE).

Ci sono abbastanza numero di biglietti su come modificare tale comportamento per lo stesso come hai descritto/desiderato .. ma finora non sembra che sia nella loro lista di priorità ...

Iscriviti a quei biglietti (stella/voto/commento) a ricevere la notifica sullo stato di avanzamento.

2

A partire dalla versione 2016.3 PHPStorm ora esegue i test nella directory dei test specificati, fornendo esattamente ciò che si chiede nella domanda.

+0

Sai se questa funzionalità è stata ripristinata? Ho provato questo con 2017.2 e ottengo lo stesso risultato di OP. – Thelonias

+0

Lo stesso per me, ma cambia directory per correggerne uno quando si cambia lo spazio dei nomi per riflettere la directory dei test nel popup 'Crea nuovo test ...'. IIRC ha funzionato nella versione 2017, ma si è fermato dopo l'aggiornamento. – panK

Problemi correlati