2013-02-06 3 views
9

Ich bin bei meinem Witz Ende. Ich muss jede SO-Frage zum selben Thema gelesen haben, aber keine Freude.PHPUnit: Klasse <ClassName> konnte nicht gefunden werden in <ClassNameTest> .php

Ich kann phpUnit nicht richtig funktionieren. Ich habe phpUnit und seine Abhängigkeiten mit PEAR erfolgreich installiert. Ich habe auch meine php.ini-Datei geändert und den Pfad zu phpUnit zum Include-Pfad hinzugefügt: (".:/Php/includes: usr/lib/php/pear").

Um zu testen, phpunit funktioniert, ich diese einfache Klasse kopiert haben, so MyClassTest.php wie folgt:

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

Running "phpunit MyClassTest" erzeugt die folgende Ausgabe: („phpunit MyTestClass MyTestClass läuft. php "erzeugt das gleiche Ergebnis);

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'. 

Ich kann nicht denken, was falsch ist. Ich habe versucht, phpunit/PHPUnit zu deinstallieren und neu zu installieren, aber keine Freude. Kannst du erkennen, was falsch ist? Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen und ich werde diesen Beitrag bearbeiten. Danke im Voraus.

  • PHP 5.3.15
  • PHPUnit 3.7.13
  • OSX 10.8.2
+4

Wird tatsächlich der Code aus der MyClassTest.php-Datei angezeigt? –

+0

Ja, ist es. Nicht sicher warum. Alle Beispiele, die ich gesehen habe, erwähnen nichts dergleichen. – TeaPow

+3

Die Beispiele sollten kein fehlendes

Antwort

13

Ihr Quellcode auf der Konsole ausgegeben wird, so dass es wie Sie am Anfang vergessen <?php scheint.

+2

Ich dachte zuerst, dass dies auch der Fall ist. Versuchte es mit der require-Anweisung. Keine Änderung. – TeaPow

+1

Ich habe die Antwort bearbeitet, nachdem ich festgestellt habe, dass PHPUnit in neueren Versionen mit einem Autoloader ausgeliefert wird und die require-Anweisung nicht mehr benötigt wird. Aber @ Mark Baker gab einen wichtigen Hinweis in den Kommentaren. –

+1

Akzeptierte bearbeitete Antwort. – TeaPow

Verwandte Themen