在 YAML 文件中测试配置的位置
Where to put tests testing the configuration in the YAML files
我正在 Symfony(版本 4.2.3)中开发一个应用程序,并且还使用了 Sonata project as well the API Platform 中的几个包。
我们有 4 个具有不同权限的不同用户角色。 API 是只读的,应该由 ROLE_USER
访问,但 ROLE_USER
不能访问管理区域。其他角色应该访问管理区域。
我已经在文件 config/packages/security.yaml
中设置了防火墙和访问控制路径,创建了我的自定义安全处理程序 VoterSecurityHandler
并在 config/packages/sonata_admin.yaml
:
中使用它
sonata_admin:
security:
handler: sonata.admin.security.handler.voter
安全处理程序已在 config/services.yaml
中注册:
sonata.admin.security.handler.voter:
class: App\Security\Handler\VoterSecurityHandler
arguments: ["@security.authorization_checker", ['ROLE_SUPER_ADMIN']]
我使用 LiipFunctionalTestBundle 编写了测试,并为不同的用户提供数据装置,以检查他们的权限是否得到正确处理。
我正在尝试遵循最佳实践并将整个应用程序结构从 src/
映射到目录 tests/
。因为我有 src/Security/Handler/VoterSecurityHandler.php
我创建了 tests/Security/Handler/TestVoterSecurityHandler.php
.
但是 VoterSecurityHandler
应该管理奏鸣曲管理员的权限,我实际上正在测试 config/packages/security.yaml
中的配置设置。
把所有的测试都放在上面class感觉不太对,但是我想知道这种"smoke tests"应该放在哪里?
我的问题:
我应该在哪里测试 YAML 文件中的配置?
最好的做法是将测试文件放在与你的src相同的架构下,但这并不意味着你不能写其他测试文件。
如果你没有controller,直接放在测试下,随便命名(FirewallTest
?)
我个人使用专门的功能测试,测试不同角色的不同路由,只检查我是否得到 403 / 200。
正如您在 documentation 中看到的那样,他们将他们的文件直接置于测试之下:tests/ApplicationAvailabilityFunctionalTest.php
我正在 Symfony(版本 4.2.3)中开发一个应用程序,并且还使用了 Sonata project as well the API Platform 中的几个包。
我们有 4 个具有不同权限的不同用户角色。 API 是只读的,应该由 ROLE_USER
访问,但 ROLE_USER
不能访问管理区域。其他角色应该访问管理区域。
我已经在文件 config/packages/security.yaml
中设置了防火墙和访问控制路径,创建了我的自定义安全处理程序 VoterSecurityHandler
并在 config/packages/sonata_admin.yaml
:
sonata_admin:
security:
handler: sonata.admin.security.handler.voter
安全处理程序已在 config/services.yaml
中注册:
sonata.admin.security.handler.voter:
class: App\Security\Handler\VoterSecurityHandler
arguments: ["@security.authorization_checker", ['ROLE_SUPER_ADMIN']]
我使用 LiipFunctionalTestBundle 编写了测试,并为不同的用户提供数据装置,以检查他们的权限是否得到正确处理。
我正在尝试遵循最佳实践并将整个应用程序结构从 src/
映射到目录 tests/
。因为我有 src/Security/Handler/VoterSecurityHandler.php
我创建了 tests/Security/Handler/TestVoterSecurityHandler.php
.
但是 VoterSecurityHandler
应该管理奏鸣曲管理员的权限,我实际上正在测试 config/packages/security.yaml
中的配置设置。
把所有的测试都放在上面class感觉不太对,但是我想知道这种"smoke tests"应该放在哪里?
我的问题:
我应该在哪里测试 YAML 文件中的配置?
最好的做法是将测试文件放在与你的src相同的架构下,但这并不意味着你不能写其他测试文件。
如果你没有controller,直接放在测试下,随便命名(FirewallTest
?)
我个人使用专门的功能测试,测试不同角色的不同路由,只检查我是否得到 403 / 200。
正如您在 documentation 中看到的那样,他们将他们的文件直接置于测试之下:tests/ApplicationAvailabilityFunctionalTest.php