ipc / test-bundle
此包提供常见测试案例的测试方法。
0.3.0
2017-04-02 22:12 UTC
Requires
- php: >= 7.0
- doctrine/collections: ~1.4
- doctrine/orm: ~2.5
- symfony/symfony: ~3.0
Requires (Dev)
- phpunit/phpunit: ^6.0
- symfony/phpunit-bridge: @stable
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