【发布时间】:2019-04-17 21:34:00
【问题描述】:
我正在使用 Symfony 和库 fzaninotto/faker
我正在使用这个库来测试一些东西,但是在运行 phpunit 时出现这个错误:
错误:找不到类“Faker\Factory”
像往常一样,我使用的是正确的use Faker\Factory;
如您所见,仅在我的开发中是必需的,并且我在运行composer install 时安装了它
composer.json
{
"type": "project",
"license": "proprietary",
"require": {
"php": "^7.1.3",
...
"symfony/framework-bundle": "4.1.*",
},
"require-dev": {
"fzaninotto/faker": "^1.8",
"symfony/dotenv": "4.1.*",
"symfony/test-pack": "^1.0"
},
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
"replace": {
"paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php71": "*",
"symfony/polyfill-php70": "*",
"symfony/polyfill-php56": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"symfony": {
"allow-contrib": false,
"require": "4.1.*"
}
}
}
【问题讨论】:
-
你能显示你的 phpunit.xml(.dist) 吗?你有分配给 vendor/autoload.php 的引导脚本吗?
-
是的,
<phpunit xmlns:xsi="http://...... bootstrap="vendor/autoload.php"> -
@felipsmartins 我正在阅读,我了解 PSR-0 和 PSR-4 之间的区别,但是我仍然不明白为什么找不到这个类,一切似乎都正确配置。
-
composer dump-autoload显然还有require_once 'vendor/autoload.php';