@Gesparo
Fullstack разработчик

Почему не находит нужный класс в phpunit?

Добрый день!
Первый раз настраиваю PHPUnit и столкнулся с такой проблемой, юнит тесты, наследуемые от класса PHPUnit_Framework_TestCase работают нормально, но мне, для некоторых нужд, еще понадобилось подключить еще компоненты listeners через PHPUnit_Framework_BaseTestListener и тесты к бд через PHPUnit_Extensions_Database_TestCase. И вот их то phpunit и не видит.

Детали:
phpunit.xml
<?xml version="1.0" encoding="UTF-8" ?>
<phpunit
        bootstrap="./vendor/autoload.php"
        colors="true"
        convertErrorsToExceptions="true"
        convertNoticesToExceptions="true"
        convertWarningsToExceptions="true"
        processIsolation="false"
        stopOnFailure="false"
        syntaxCheck="false">
   <listeners>
        <listener class="DBInit" file="./tests/listeners/DBInit.php">
        </listener>
    </listeners>
    <testsuites>
        <testsuite name="Main PHPUnit Tests">
            <directory>./tests/</directory>            
        </testsuite>
    </testsuites>
    <php>
        <var name="DB_HOST" value="localhost" />
        <var name="DB_USER" value="root" />
        <var name="DB_PASSWORD" value="" />
        <var name="DB_DBNAME" value="ural_catalog_tests" />
        <var name="VERSION" value="1.0" />
    </php>
</phpunit>


Настройки phpshtorm:
5a26f236d1cd4256b599ae58e328886a.png
Настройки тестов:
4d782a25af16423281214b936c26ea62.pngВерсию phpunit скачивал самую последнюю.

Код listener-а
se PHPUnit\Framework\TestCase;

class DBInit extends PHPUnit_Framework_BaseTestListener
{
  static $wasCalled = false;

  public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
  {
     // DO SOMETHING
  }
}

Код теста для бд
class SearchTest extends PHPUnit_Extensions_Database_TestCase
{
  // Imortant methods 
  // some tests
}


Ошибки:

C:\xampp\php\php.exe C:/Users/Gesparo/AppData/Local/Temp/ide-phpunit.php --configuration C:\xampp\htdocs\sitename\phpunit.xml
Testing started at 10:46 ...

Warning: Module 'openssl' already loaded in Unknown on line 0

Fatal error: Class 'PHPUnit_Framework_BaseTestListener' not found in C:\xampp\htdocs\sitename\tests\listeners\DBInit.php on line 6

Call Stack:
    0.0030     225984   1. {main}() C:\Users\Gesparo\AppData\Local\Temp\ide-phpunit.php:0
    0.0210     783736   2. IDE_Base_PHPUnit_TextUI_Command::main() C:\Users\Gesparo\AppData\Local\Temp\ide-phpunit.php:589
    0.0210     787136   3. PHPUnit_TextUI_Command->run() C:\Users\Gesparo\AppData\Local\Temp\ide-phpunit.php:299
    0.2510    2341656   4. PHPUnit_TextUI_TestRunner->doRun() C:\xampp\php\pear\PHPUnit\TextUI\Command.php:176
    0.2510    2342448   5. PHPUnit_TextUI_TestRunner->handleConfiguration() C:\xampp\php\pear\PHPUnit\TextUI\TestRunner.php:139
    0.2540    2353600   6. require_once('C:\xampp\htdocs\sitename\tests\listeners\DBInit.php') C:\xampp\php\pear\PHPUnit\TextUI\TestRunner.php:624

PHP Warning:  Module 'openssl' already loaded in Unknown on line 0
PHP Fatal error:  Class 'PHPUnit_Framework_BaseTestListener' not found in C:\xampp\htdocs\sitename\tests\listeners\DBInit.php on line 6
PHP Stack trace:
PHP   1. {main}() C:\Users\Gesparo\AppData\Local\Temp\ide-phpunit.php:0
PHP   2. IDE_Base_PHPUnit_TextUI_Command::main() C:\Users\Gesparo\AppData\Local\Temp\ide-phpunit.php:589
PHP   3. PHPUnit_TextUI_Command->run() C:\Users\Gesparo\AppData\Local\Temp\ide-phpunit.php:299
PHP   4. PHPUnit_TextUI_TestRunner->doRun() C:\xampp\php\pear\PHPUnit\TextUI\Command.php:176
PHP   5. PHPUnit_TextUI_TestRunner->handleConfiguration() C:\xampp\php\pear\PHPUnit\TextUI\TestRunner.php:139
PHP   6. require_once() C:\xampp\php\pear\PHPUnit\TextUI\TestRunner.php:624

Process finished with exit code 255


Можете подсказать, почему не видит эти классы. Может я где-то в настройках тестов ошибся?

P.S. Версия php, которую я использую - 5.6
  • Вопрос задан
  • 1341 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы