如何让 Symfony 使用测试文件夹

问题描述 投票:0回答:1

我想在 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 中,则可以找到路线。

symfony testing routes
1个回答
0
投票

“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
© www.soinside.com 2019 - 2024. All rights reserved.