webfactory / symfony-application-tests
此包已废弃,不再维护。没有建议的替代包。
包含多个通用测试场景,可应用于 Symfony 2 应用。
1.1.3
2020-03-09 16:15 UTC
Requires
- php: ^7.2.0
Requires (Dev)
- doctrine/common: ^2.4
- jms/security-extra-bundle: ^1.5
- phpunit/phpunit: ^7.4.0
- sensio/framework-extra-bundle: ^2.3.0 | ^3.0.0 | ^4.0.0 | 5.0.0
- symfony/browser-kit: ^3.4|^4.0
- symfony/config: ^3.4|^4.0
- symfony/dependency-injection: ^3.4|^4.0
- symfony/event-dispatcher: ^3.4|^4.0
- symfony/finder: ^3.4|^4.0
- symfony/form: ^3.4|^4.0
- symfony/framework-bundle: ^3.4|^4.0
- symfony/http-foundation: ^3.4|^4.0
- symfony/http-kernel: ^3.4|^4.0
- symfony/routing: ^3.4|^4.0
- symfony/templating: ^3.4|^4.0
- symfony/twig-bundle: ^3.4|^4.0
- symfony/validator: ^3.4|^4.0
- symfony/web-profiler-bundle: ^3.4|^4.0
- symfony/yaml: ^3.4|^4.0
- twig/twig: ^1.34|^2.0
README
通用的功能测试,可应用于任何 Symfony 应用。
应用检查
以下检查在注册提供的测试用例后自动应用。
这些检查通常很简单,但它们被证明有助于在早期发现常见的配置错误。
Twig 模板
测试确保 Twig 模板至少可编译,并且所有使用的函数都是可用的。
Twig 扩展
注册为 Twig 扩展的服务必须至少实现相应的接口。
事件订阅者
注册的事件订阅者必须实现正确的接口,并且所有引用的监听器方法都必须可调用。
验证器
注册的验证器必须实现正确的接口,并且在 Symfony < 2.7 中,必须在配置中提供别名。
表单类型
注册的表单类型必须实现相应的接口,并且在配置和实现中必须匹配别名。
角色注解
确保通过 @Secure 注解引用的角色仅存在于系统中。这些注解的支持由不属于 Symfony 核心的 SecurityExtraBundle 提供。
示例
/**
* Check will fail if the role ROLE_ADMIN is not configured in the security.yml.
*
* @Secure(roles="ROLE_ADMIN")
*/
public function myAction()
{
// [...]
}
服务
每个应用服务至少必须是可实例化的(排除抽象和合成服务)。
安装
使用以下命令通过 Composer 安装包
composer require --dev webfactory/symfony-application-tests
使用
只需将测试目录添加到您的 phpunit.xml
<testsuites> <testsuite name="Application Test Suite"> <directory>vendor/webfactory/symfony-application-tests/src/Webfactory/Tests/</directory> </testsuite> </testsuites>
该库使用 Symfony 的功能测试基础设施。因此,您可能需要配置您的内核目录
<php> <server name="KERNEL_DIR" value="/path/to/your/app/" /> </php>
详细信息可在 https://symfony.ac.cn/doc/current/book/testing.html#your-first-functional-test 查找。
高级内核配置
如果内核目录配置不符合您的需求,您还可以配置内核类
<php> <server name="KERNEL_CLASS" value="My\TestKernel" /> </php>
为了使此功能正常工作,内核必须可由类加载器加载。
变更日志
0.5.3 -> 0.6.0
已移除对表单类型别名的约束,这些别名自 Symfony 2.8 起已弃用。
致谢、版权和许可
此库始于德国波恩的 webfactory GmbH。
版权所有 2014-2017 德国波恩 webfactory GmbH。代码在 MIT 许可证下发布。