laminas / laminas-container-config-test
Mezzio PSR-11 容器配置测试
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- phpunit/phpunit: ^10.3
- psr/container: ^1.0 || ^2.0.2
Requires (Dev)
- laminas/laminas-coding-standard: ^2.5
- psalm/plugin-phpunit: ^0.18.4
- vimeo/psalm: ^5.15.0
Conflicts
This package is auto-updated.
Last update: 2024-09-16 03:32:16 UTC
README
🇷🇺 俄罗斯公民
我们Laminas的成员来自不同的国家。我们中许多人都有在俄罗斯和乌克兰的朋友、亲戚和同事。我们中有些人出生在俄罗斯。有些人现在住在俄罗斯。我们中有些人有祖父母在二战中与法西斯作战。在这里,没有人支持法西斯主义。
我们中有一位成员有一位乌克兰亲戚,她带着儿子从家里逃了出来。由于前方道路上的轰炸,火车延误了。我们有一些朋友在防空洞里躲避。我们在空袭后焦急地等待他们的消息,空袭不分青红皂白地袭击医院、学校、幼儿园和房屋。我们不是从任何媒体上得知这些的。这是我们的亲身经历。
你们信任我们足够使用我们的程序,我们请求你们再次信任我们。我们需要帮助。走出去,抗议这场无意义的战争。停止杀戮。说“不,战争!”
🇺🇸 致俄罗斯公民
我们在Laminas来自世界各地。我们中许多人都有在俄罗斯和乌克兰的朋友、家人和同事。我们中有些人出生在俄罗斯。有些人现在住在俄罗斯。我们中有些人有祖父母在二战中与纳粹作战。在这里,没有人支持法西斯主义。
我们的团队成员中有一位乌克兰亲戚,她带着儿子逃离了家。由于前方道路上的轰炸,火车延误了。我们有一些朋友在防空洞里躲避。我们在空袭后焦急地等待他们的消息,空袭不分青红皂白地袭击医院、学校、幼儿园和房屋。我们不是从任何媒体上得知这些的。这是我们的亲身经历。
你们信任我们足够使用我们的软件。我们请求你们信任我们说出真相。我们需要你们的帮助。走出去,抗议这场无意义的战争。停止杀戮。说“停止战争!”
这个库为使用laminas-servicemanager的子集配置的配置提供了PSR-11容器的常见测试,正如Mezzio所指定。
它保证了跨多个PSR-11容器实现提供相同的基本功能,并简化了它们之间的切换。
目前我们支持
安装
运行以下命令以安装此库
$ composer require --dev laminas/laminas-container-config-test
使用常用测试
在你的库中,你需要在你的测试套件中扩展 Laminas\ContainerConfigTest\AbstractContainerTest
类并实现 createContainer
方法
protected function createContainer(array $config) : ContainerInterface;
它应该返回你的PSR-11兼容容器,使用 $config
进行配置。
然后,根据您想支持的功能,您可以将以下特性添加到您的测试用例中
Laminas\ContainerConfigTest\AliasTestTrait
- 用于支持aliases
配置Laminas\ContainerConfigTest\DelegatorTestTrait
- 用于支持delegators
配置Laminas\ContainerConfigTest\FactoryTestTrait
- 用于支持factories
配置Laminas\ContainerConfigTest\InvokableTestTrait
- 用于支持invokables
配置Laminas\ContainerConfigTest\ServiceTestTrait
- 用于支持services
配置Laminas\ContainerConfigTest\SharedTestTrait
- 用于支持shared
和shared_by_default
配置
为了提供一个与 Mezzio 兼容的容器,您应该扩展类 Laminas\ContainerConfigTest\AbstractMezzioContainerConfigTest
并实现 createContainer
方法。这个类组合了以下特性
Laminas\ContainerConfigTest\AliasTestTrait
,Laminas\ContainerConfigTest\DelegatorTestTrait
,Laminas\ContainerConfigTest\FactoryTestTrait
,Laminas\ContainerConfigTest\InvokableTestTrait
,Laminas\ContainerConfigTest\ServiceTestTrait
.
如果您还计划支持共享服务,则测试类也应组合 SharedTestTrait
use Laminas\ContainerConfigTest\AbstractMezzioContainerConfigTest; use Laminas\ContainerConfigTest\SharedTestTrait; class ContainerTest extends AbstractMezzioContainerConfigTest { use SharedTestTrait; protected function createContainer(array $config) : ContainerInterface { // your container configuration } }