Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Zend Container Config Test Laravel Package

zendframework/zend-container-config-test

Common test suite for PSR-11 containers configured with a subset of zend-servicemanager/Expressive config. Extend AbstractContainerTest and add traits for aliases, factories, services, etc. Supports Aura.Di, Pimple, and zend-servicemanager. Repository abandoned; moved to laminas.

View on GitHub
Deep Wiki
Context7

zend-container-config-test

Repository abandoned 2019-12-31

This repository has moved to laminas/laminas-container-config-test.

Build Status Coverage Status

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:

Installation

Run the following to install this library:

$ composer require --dev zendframework/zend-container-config-test

Using common tests

In your library, you will need to extend the Zend\ContainerConfigTest\AbstractContainerTest class within your test suite and implement the method createContainer:

protected 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:

use Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest;
use Zend\ContainerConfigTest\SharedTestTrait;

class ContainerTest extends AbstractExpressiveContainerConfigTest
{
    use SharedTestTrait;
    
    protected function createContainer(array $config) : ContainerInterface
    {
        // your container configuration
    }
}
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log