我想在 Symfony 中添加一个“tests”文件夹。
这是我的composer.json:
"autoload": {
"psr-4": {
"AppBundle\\": "src/AppBundle"
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
},
"files": [
"vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php"
]
},
所以我将一个控制器添加到tests/Controller/TestController.php中,并使用路由/Test/Timeout
当我用邮递员调用路线时:找不到“GET /测试/超时”的路线
当我运行 php bin/console debug:router 时,路线没有出现。
我错过了什么吗?
如果我将 TestController 放入 src/AppBundle/Controller 中,则可以找到路线。
“tests”文件夹指定用于单元(和其他类型)测试,通常由 PHPUnit 框架执行,它不被视为应用程序本身的一部分。
如果您希望将控制器放在“tests”文件夹中,则需要在“config/routes.yaml”中注册路由。由于您可以将控制器放置在任何您想要的位置,因此您还必须相应地通知路由器。
# //config/routes.yaml
controllers:
resource:
path: ../src/Controller/
namespace: App\Controller
type: attribute
test_controllers:
resource:
path: ../tests/Controller/
namespace: App\Test\Controller
type: attribute