Fatal error: Class 'PHPUnit_Framework_TestCase' nicht gefunden
Ich bin mit XAMPP 1.8.1, Windows 7 64-bit, Netbeans IDE 7.4
Ich habe PHPUnit installiert.
Wenn ich einen code, ich erhalte die folgende Fehlermeldung.
Fatal error: Class 'PHPUnit_Framework_TestCase' not found in D:\xampp\htdocs\PHPUnit\index.php in Zeile 6
Der Code ist:
<?php
class StackTest extends PHPUnit_Framework_TestCase {
public function testPushAndpop() {
$stack = array();
$this->assertEquals(0, count($stack));
array_push($stack, 'foo');
$this->assertEquals('foo', $stack[count($stack) - 1]);
$this->assertEquals(1, count($stack));
$this->assertEquals('foo', array_pop($stack));
$this->assertEquals(0, count($stack));
}
}
?>
Habe ich Hinzugefügt, D:\xampp\php in der Umgebungsvariable PATH
Mir jemand empfehlen, wie dieses problem zu lösen?
Vielen Dank im Voraus.
InformationsquelleAutor user2118784 | 2014-02-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie versuchen, führen Sie den test in einem web-browser? Das verwirrte mich, für eine Weile. PHPUnit-tests werden geschrieben, um auf der Kommandozeile ausgeführt.
InformationsquelleAutor MikeiLL
Haben Sie nicht erwähnt, welche version von PHP Sie verwenden, aber wenn es 3.5 oder höher, fügen Sie einfach
Oberen Rand des code-ziehen Sie die gewünschten Dateien.
Wenn nicht,verwenden Sie:
Ist es unwahrscheinlich, dass Sie verwenden eine ältere version als 3.5, aber ich habe enthalten, die nur für den Fall.
InformationsquelleAutor kguest
Ich denke du hast einfach die neueste version von PHPUnit und nicht eine beliebige Datei, wie unten erwähnt. Dieser arbeitete für mich, wenn ich ein Upgrade auf die neueste version war aber die alte Unit-tests, die hatte:
Entfernen Sie diese Zeile das problem behoben.
InformationsquelleAutor pdolinaj
Für neue PHPUnit-Versionen, die Sie brauchen, um erweitern die
TestCase
nur stattPHPUnit_Framework_TestCase
mit Hilfe der Verwendunguse PHPUnit\Framework\TestCase;
Alt und Depricated Weg:
Neue Art und Weise angenommen, in Versionen wie 6.x:
Wenn Sie nicht mit dieser neuen Methode, Sie werden immer die Schwierigkeiten. Es annehmen, und dies wird Ihr problem lösen.
InformationsquelleAutor MKJ
Für die Gäste, die hier nach der Aktualisierung phpunit-version 6 veröffentlicht.
Sie müssen benennen Sie die Klasse wie:
\PHPUnit_Framework_TestCase
zu\PHPUnit\Framework\TestCase
InformationsquelleAutor Fabien Thetis
Gibt es zwei Ebenen von Antworten auf diese.
Das erste problem für einige ist, dass, während Klassennamen sind case-insentive in PHP autoloader manchmal nicht, so dass Sie wird müssen die richtigen Namen der übergeordneten Klasse:
PHPUnit_Framework_TestCase
Das zweite problem ist eine Inkompatibilität der PHPUnit 6 mit sich selbst. Wenn Sie, wie viele andere auch, müssen in der Lage sein, zu schreiben, testcases, die arbeiten mit beiden Versionen, erstellen Sie eine neue Datei mit folgendem Inhalt:
Dann, diese Datei an der Spitze der einzelnen testcase. Die Testfälle selbst weiter zu vererben, die von der genannten Klasse, zum Beispiel, im code von mir:
Im Gegensatz zu früher Beratung, einschließlich
PHPUnit/Autoload.php
oderPHPUnit/Framework/TestCase.php
bewährt hat sich unnötige mit beiden PHPUnit 4.2.6 (Debian jessie) und 6.5.5 (Debian sid). Es ist auch nicht notwendig zu schreiben, einphpunit.xml
,bootstrap.php
usw. wie in ähnlichen Rat.InformationsquelleAutor mirabilos