#php #unit-testing #composer-php #phpunit
#php #модульное тестирование #композитор-php #phpunit
Вопрос:
Я использую следующие конфигурации composer.json для использования phpunit:
{ "require-dev": { "phpunit/phpunit": "^9" }, "autoload": { "psr-4": { "App\": "src" } }, "autoload-dev": { "psr-4": { "Tests\": "tests" } } }
Мои файлы проекта выглядят следующим образом:
gt; src gt; Configs gt; DB gt; Helper Config.php gt; tests gt; vendor composer.json composer.lock
Эта ошибка будет возникать до тех пор, пока "App\": "src"
в файле composer.json:
Uncaught Error: Class 'AppHelperConfig' not found in
Но если я изменю src на приложение (in composer.json)
и переименую каталог src в приложение, проблема будет решена. То есть файл композитора должен выглядеть следующим образом:
{ "require-dev": { "phpunit/phpunit": "^9" }, "autoload": { "psr-4": { "App\": "app" // ** rename src to app ** } }, "autoload-dev": { "psr-4": { "Tests\": "tests" } } }
И расположите каталоги и файлы следующим образом:
gt; app gt; Configs gt; DB gt; Helper Config.php gt; tests gt; vendor composer.json composer.lock
Я также использовал эту composer dump-autoload
команду.
В чем может быть причина этой проблемы?
Комментарии:
1. Вы сбросили загрузчик классов после изменения корневого пространства имен? Кроме того, как это связано с PHPUnit?
2. ДА. он работает с помощью phpunit. @Нико Хаасе
3. После какого действия вы получаете эту ошибку?
4.
./phpunit index.php
@пользователь4877725. @MohsenMovahed вернуться к
src
, но вместо"App\": "src"
этого"App\": "src/"
(да, добавьте окончание/
).