PHPUnit konnte die Klasse "TestCase" nicht finden

8

Um meine Tests mit der PHPUnit des Projekts auszuführen, mache ich folgendes: php vendor/bin/phpunit tests/SomeClassTest.php , was bei der folgenden Klassendeklaration gut funktioniert:

%Vor%

Aber es scheitert, wenn ich das tue:

%Vor%

Ich bekomme PHP Fatal error: Class 'PHPUnit\Framework\TestCase' not found ...

    
Flawyte 14.10.2016, 14:05
quelle

2 Antworten

6

Die Klasse TestCase existiert seit PHPUnit 5.4. Sie können es auf github sehen, wenn Sie 5.3 tag (suchen Sie nach ForwardCompatibility Ordner) oder Sie können Vergleichen Sie das Dokument für 5.3 und 5.4 im Abschnitt 2. Writing Tests for PHPUnit , wo es heißt:

"ClassTest erbt (meistens) von PHPUnit_Framework_TestCase." für PHPUnit 5.3

und

"ClassTest erbt (meistens) von PHPUnit \ Framework \ TestCase." für PHPUnit 5.4

    
martin 14.10.2016, 14:17
quelle
3

In meiner Bibliothek, die ich in PHP 5.4 noch als verwendbar markiert habe, musste ich dies meiner Top-Level-Testfall-Klasse hinzufügen, um den Unterschied zwischen Namespaced und Namespace zu überbrücken, je nachdem, welche PHPUnit-Version es hat installiert von Composer basierend auf der Laufzeit-PHP-Version.

%Vor%

Dies funktioniert gut mit PHP 5.4 (PHPUnit 4.8.34) bis PHP 7.1 (PHPUnit 6.0.2).

    
ashnazg 03.02.2017 17:42
quelle

Tags und Links