Я новичок в PHPUnit, и у меня возникли проблемы с настройкой его для доступа к моим файлам PHP. Структура каталогов Я использую для моего приложения заключается в следующем:«Класс не найден» при использовании пространств имен в PHPUnit
./phpunit.xml
./lib/Application/
-> Dir1/File1.php (namespace = Application\Dir1)
-> Dir1/File2.php
-> Dir2/File1.php (namespace = Application\Dir2)
./tests/Application/Tests
-> Test1.php (namespace = Application\Tests)
-> Test2.php
В моей PhpUnit.xml, у меня есть:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit verbose="false">
<testsuites>
<testsuite name="Application">
<directory>./tests/Application/Tests</directory>
</testsuite>
</testsuites>
<logging>
<log type="coverage-text" target="php://stdout" showUncoveredFiles="false"/>
<log type="json" target="/tmp/phpunit-logfile.json"/>
</logging>
<filter>
<whitelist>
<directory suffix=".php">./lib</directory>
</whitelist>
</filter>
</phpunit>
И в одном из моих тестовых файлов, я открываю с:
namespace Application\Tests;
use Application\Dir1\File1;
class MyTest extends File1 {}
Но он продолжает говорить:
класса 'Application \ Dir1 \ File1' не найдено
Куда я иду не так?
Как вы загружаете dir1/File1.php из тестового файла? Операция 'use' не означает, что вам не нужны необходимые файлы. –
Я попытался использовать файл начальной загрузки, который ссылается на Autoload.php, но я не был уверен, какую функциональность использовать для включения всех необходимых файлов. Я также думал, что PHPUnit.xml автоматически включит необходимые файлы в узел ''. Разве это не так? –
hohner
Просто попробуйте поместить инструкцию 'require_once' в начале, и она должна работать. –