PHPUnit не может найти класс TestCase

Для запуска моих тестов с использованием PHPUnit проекта я делаю следующее: php vendor/bin/phpunit tests/SomeClassTest.php который отлично работает с учетом следующего объявления класса:

 class SomeClassTest extends PHPUnit_Framework_TestCase { public function test_someMethod() {} } 

Но он терпит неудачу, когда я это делаю:

 use PHPUnit\Framework\TestCase; class SomeClassTest extends TestCase { public function test_someMethod() {} } 

Я получаю PHP Fatal error: Class 'PHPUnit\Framework\TestCase' not found

Related of "PHPUnit не может найти класс TestCase"

Класс TestCase существует с PHPUnit 5.4. Вы можете увидеть его на github, если вы установите 5.3 tag (смотрите папку ForwardCompatibility ), или вы можете сравнить doc для 5.3 и 5.4 в 2. Writing Tests for PHPUnit секции 2. Writing Tests for PHPUnit где говорится:

«ClassTest наследует (большую часть времени) от PHPUnit_Framework_TestCase». для PHPUnit 5.3

а также

«ClassTest наследует (большую часть времени) от PHPUnit \ Framework \ TestCase». для PHPUnit 5.4

В моей библиотеке, которую я по-прежнему отмечен как пригодный для использования PHP 5.4, мне пришлось добавить это в свой класс тестового теста верхнего уровня, чтобы преодолеть разницу между именами и именами, в зависимости от того, какая версия PHPUnit будет установлена ​​Composer основанный на версии PHP для исполнения.

 /* * Allow for PHPUnit 4.* while XML_Util is still usable on PHP 5.4 */ if (!class_exists('PHPUnit_Framework_TestCase')) { class PHPUnit_Framework_TestCase extends \PHPUnit\Framework\TestCase {} } abstract class AbstractUnitTests extends \PHPUnit_Framework_TestCase { 

Это отлично работает на PHP 5.4 (PHPUnit 4.8.34) до PHP 7.1 (PHPUnit 6.0.2).