2013-02-06 9 views
9

Sono alla fine del mio spirito. Devo aver letto ogni domanda SO sullo stesso argomento, ma nessuna gioia.PHPUnit: la classe <ClassName> non è stata trovata in <ClassNameTest> .php

Non riesco a far funzionare correttamente phpUnit. Ho installato correttamente phpUnit e le sue dipendenze usando PEAR. Ho anche modificato il mio file php.ini e aggiunto il percorso a phpUnit al percorso di inclusione: (".:/Php/include: usr/lib/php/pear").

Per testare phpunit sta lavorando, ho copiato questo semplice classe, in modo MyClassTest.php è la seguente:

class MyClassTest extends PHPUnit_Framework_TestCase 
{ 
    public function testCalculate() 
    { 
     $this->assertEquals(2, 1 + 1); 
    } 
} 

Running "phpunit MyClassTest" produce il seguente output: (in esecuzione "phpunit MyTestClass MyTestClass. php "produce lo stesso risultato);

class MyClassTest extends PHPUnit_Framework_TestCase 
{ 
    public function testCalculate() 
    { 
     $this->assertEquals(2, 1 + 1); 
    } 
} 
PHPUnit 3.7.13 by Sebastian Bergmann. 

Class 'MyClassTest' could not be found in 'MyClassTest.php'. 

Non riesco a pensare cosa c'è che non va. Ho provato a disinstallare e reinstallare phpunit/PHPUnit, ma nessuna gioia. Riesci a identificare cosa c'è che non va? Se hai bisogno di ulteriori informazioni, fammelo sapere e modifico questo post. Grazie in anticipo.

  • PHP 5.3.15
  • PHPUnit 3.7.13
  • OSX 10.8.2
+4

In realtà sta visualizzando il codice dal file MyClassTest.php? –

+0

Sì, lo è. Non so perché. Tutti gli esempi che ho visto non menzionano nulla del genere. – TeaPow

+3

Gli esempi non devono necessariamente menzionare un

risposta

13

il codice sorgente viene stampato sulla console, quindi sembra che ti sei dimenticato <?php all'inizio.

+2

Inizialmente pensavo che fosse anche questo il caso. Provato con la dichiarazione di richiesta. Nessun cambiamento. – TeaPow

+1

Ho modificato la risposta dopo aver capito che PHPUnit viene fornito con un autoloader nelle versioni più recenti e l'istruzione require non è più necessaria. Ma @ Mark Baker ha dato un suggerimento importante nei commenti. –

+1

Risposta modificata modificata. – TeaPow