zendframework / zend-container-config-test
0.2.2
2019-09-06 12:41 UTC
Requires
- php: ^7.1
- psr/container: ^1.0
Requires (Dev)
- phpunit/phpunit: ^7.5.15 || ^8.3.4
- zendframework/zend-auradi-config: ^1.0.1
- zendframework/zend-coding-standard: ~1.0.0
- zendframework/zend-pimple-config: ^1.1
- zendframework/zend-servicemanager: ^3.3.2
This package is auto-updated.
Last update: 2020-01-20 19:21:33 UTC
README
仓库废弃于 2019-12-31
此库提供了使用 zend-servicemanager 的子集配置的 PSR-11 容器的通用测试,如 Expressive 所指定
它保证了在不同 PSR-11 容器实现之间传递相同的基本功能,并简化了它们之间的切换。
目前我们支持
安装
运行以下命令来安装此库
$ composer require --dev zendframework/zend-container-config-test
使用通用测试
在你的测试套件中,你需要扩展 Zend\ContainerConfigTest\AbstractContainerTest
类并实现 createContainer
方法
protected function createContainer(array $config) : ContainerInterface;
它应该返回你的 PSR-11 兼容容器,使用 $config
配置。
然后,根据你想要支持的功能,你可以在测试用例中添加以下特性
Zend\ContainerConfigTest\AliasTestTrait
- 支持别名配置Zend\ContainerConfigTest\DelegatorTestTrait
- 支持委托配置Zend\ContainerConfigTest\FactoryTestTrait
- 支持工厂配置Zend\ContainerConfigTest\InvokableTestTrait
- 支持可调用配置Zend\ContainerConfigTest\ServiceTestTrait
- 支持服务配置Zend\ContainerConfigTest\SharedTestTrait
- 支持共享和默认共享配置
要提供 Expressive 兼容的容器,你应该扩展 Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest
类并实现 createContainer
方法。此类组合了以下特性
Zend\ContainerConfigTest\AliasTestTrait
,Zend\ContainerConfigTest\DelegatorTestTrait
,Zend\ContainerConfigTest\FactoryTestTrait
,Zend\ContainerConfigTest\InvokableTestTrait
,Zend\ContainerConfigTest\ServiceTestTrait
.
如果你也计划支持共享服务,则测试类应组合 SharedTestTrait
特性
use Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest; use Zend\ContainerConfigTest\SharedTestTrait; class ContainerTest extends AbstractExpressiveContainerConfigTest { use SharedTestTrait; protected function createContainer(array $config) : ContainerInterface { // your container configuration } }