zendframework/zend-container-config-test

此包已被废弃,不再维护。作者建议使用 laminas/laminas-container-config-test 包。

Expressive PSR-11 容器配置测试

0.2.2 2019-09-06 12:41 UTC

This package is auto-updated.

Last update: 2020-01-20 19:21:33 UTC


README

仓库废弃于 2019-12-31

此仓库已迁移至 laminas/laminas-container-config-test

Build Status Coverage Status

此库提供了使用 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
    }
}