2012-12-04 20 views
5

Utilizzo PHPUnit 3.4.14 e sto cercando di aggiungere un listener.Listener PHPUnit caricato ma non utilizzato

Ho scritto un semplice:

class My_Test_Listener implements PHPUnit_Framework_TestListener 
{ 
    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time) 
    { 
... 

ho dichiarato nel mio file phpunit.xml:

<phpunit bootstrap="./bootstrap.php"> 
    <testsuites> 
     <testsuite name="auth"> 
      <directory>./library/Ademe/Auth</directory> 
     </testsuite> 
    </testsuites> 
    <listeners> 
     <listener class="Listener" file="./library/My/Test/Listener.php"> 
    </listener> 
    </listeners> 
</phpunit> 

La mia classe è caricata (se tralascio di implementare uno dei metodo, lo dice nei registri), ma non vado mai dentro a questi metodi. Ho provato questo per esempio:

public function startTestSuite(PHPUnit_Framework_TestSuite $suite) 
{ 
    die('startTestSuite'); 
} 

Avete qualche idea di cosa potrebbe mancare?

Grazie!

risposta

6

OK Ho capito, il nome della classe era sbagliato, sebbene non sia stato segnalato alcun errore. Avrei dovuto fare questo, invece:

<phpunit bootstrap="./bootstrap.php"> 
    <testsuites> 
     <testsuite name="auth"> 
      <directory>./library/Ademe/Auth</directory> 
     </testsuite> 
    </testsuites> 
    <listeners> 
     <listener class="My_Test_Listener" file="./library/My/Test/Listener.php"> 
    </listener> 
    </listeners> 
</phpunit> 
+1

Ho lo stesso problema, grazie! Dovresti accettare la tua risposta! –

+3

Avevo lo stesso problema, avevo bisogno di aggiungere lo spazio dei nomi completo. – b01

+1

Mi auguro che abbia generato un errore quando la classe non è stata trovata. – b01

3

Ho avuto lo stesso errore, ma l'ascoltatore ha lavorato solo quando ho usato

<listener class="\Name\Space\MyTestListeners" ></listener>