webfactory/symfony-application-tests

此包已废弃,不再维护。没有建议的替代包。

包含多个通用测试场景,可应用于 Symfony 2 应用。

1.1.3 2020-03-09 16:15 UTC

README

Build Status

通用的功能测试,可应用于任何 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 许可证下发布