ipc/test-bundle

此包提供常见测试案例的测试方法。

0.3.0 2017-04-02 22:12 UTC

This package is not auto-updated.

Last update: 2024-09-13 22:38:35 UTC


README

此包提供一些抽象测试类,这些类很有用且可重用。

确保您的config_test.yml配置了以下选项(如果您不使用它们,请跳过web_profiler和|或swiftmailer选项)

framework:
    test: ~
    session:
        storage_id: session.storage.mock_file
    profiler:
        collect: false

web_profiler:
    toolbar: false
    intercept_redirects: false

swiftmailer:
    disable_delivery: true

AbstractSymfonyTest

AbstractSymfonyTest类启动内核并提供对容器和doctrine实体管理器的访问。

AbstractControllerTest

AbstractControllerTest类扩展了AbstractSymfonyTest,并提供对HttpKernel\Client的访问。要使用客户端,您必须通过添加一个提供您原始安全提供者的链式提供者以及具有默认配置的内存提供者的方式(重新)配置您的安全提供者。

security:
    providers:
        chain_provider:
            chain:
                providers: [default_provider]
        default_provider:
            id: security_user_provider
        in_memory_provider:
            memory: ~

此外,您还需要在config_test.yml中添加以下块。您可以添加或更改用户角色,但当前用户名/密码配置在AbstractControllerTest类中是硬编码的。

security:
    encoders:
        Symfony\Component\Security\Core\User\User: plaintext

    firewalls:
        secured_area:
            http_basic: ~
    providers:
        chain_provider:
            chain:
                providers: [in_memory_provider]
        in_memory:
            memory:
                users:
                    test:
                        password: test
                        roles: 'ROLE_USER'

AbstractTypeTestCase

要测试您的表单类型,您可以使用AbstractTypeTestCase。由于它继承自AbstractSymfonyTest,因此默认启用了验证,并且可以从services.yml中解析表单类型。确保您更新config_test.yml中的框架块以在验证测试中禁用csrf_protection。

framework:
    csrf_protection:
        enabled: false