Добрый день!
Первый раз настраиваю 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:
Настройки тестов:
Версию 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