Name: zend-container-config-test
Owner: Zend Framework
Description: Expressive PSR-11 Container configuration tests
Created: 2018-02-09 11:22:15.0
Updated: 2018-04-13 11:51:59.0
Pushed: 2018-04-13 11:51:58.0
Size: 156
Language: PHP
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This library provides common tests for PSR-11 containers configured using a subset of zend-servicemanager configuration as specified by Expressive
It guarantees delivery of the same basic functionality across multiple PSR-11 container implementations, and simplifies switching between them.
Currently we support:
Run the following to install this library:
mposer require --dev zendframework/zend-container-config-test
In your library, you will need to extend the
Zend\ContainerConfigTest\AbstractContainerTest
class within your test suite and
implement the method createContainer
:
ected function createContainer(array $config) : ContainerInterface;
It should return your PSR-11-compatible container, configured using $config
.
Then, depending on what functionality you'd like to support, you can add the following traits into your test case:
Zend\ContainerConfigTest\AliasTestTrait
- to support aliases
configuration,Zend\ContainerConfigTest\DelegatorTestTrait
- to support delegators
configuration,Zend\ContainerConfigTest\FactoryTestTrait
- to support factories
configuration,Zend\ContainerConfigTest\InvokableTestTrait
- to support invokables
configuration,Zend\ContainerConfigTest\ServiceTestTrait
- to support services
configuration,Zend\ContainerConfigTest\SharedTestTrait
- to support shared
and shared_by_default
configuration.To provide an Expressive-compatible container, you should extend the class
Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest
and implement the method createContainer
. This class composes the following traits:
Zend\ContainerConfigTest\AliasTestTrait
,Zend\ContainerConfigTest\DelegatorTestTrait
,Zend\ContainerConfigTest\FactoryTestTrait
,Zend\ContainerConfigTest\InvokableTestTrait
,Zend\ContainerConfigTest\ServiceTestTrait
.If you want also plan to support shared services, your test class should compose
the SharedTestTrait
as well:
Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest;
Zend\ContainerConfigTest\SharedTestTrait;
s ContainerTest extends AbstractExpressiveContainerConfigTest
use SharedTestTrait;
protected function createContainer(array $config) : ContainerInterface
{
// your container configuration
}