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:
Aber es scheitert, wenn ich das tue:
%Vor% Ich bekomme PHP Fatal error: Class 'PHPUnit\Framework\TestCase' not found
...
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
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).
Tags und Links unit-testing php phpunit