Codeception / Codeception/module-laminas
Documentation how to mock controller plugin factory
- Lenguaje dominante
- PHP
- Estrellas
- 1
- Forks
- 7
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hello, i am trying to mock factory for controller plugin `FooPlugin`.
```
$this->getServiceLocator()->setAllowOverride( true );
$controllerPluginManager = $this->getServiceLocator()->get( 'ControllerPluginManager' );
$controllerPluginManager->setAllowOverride( true );
$controllerPluginManager->setFactory( FooPlugin::class, FooPluginTestFactory::class );
$controllerPluginManager->setAllowOverride( false );
$this->getModule( Laminas::class )->client->addServiceToContainer( 'ControllerPluginManager', $controllerPluginManager);
$this->getServiceLocator()->setAllowOverride( false );
```
i debugged internal code and see that Laminas overrides my factory `FooPluginTestFactory` to basic `FooPluginFactory`, which is provided in basic config. it occurred indside this https://github.com/Codeception/module-laminas/blob/00d6cf8ae6a10ef52b3569febf1d6277d7b3b8e1/src/Codeception/Lib/Connector/Laminas.php#L196-L205
after next line:
```
// Load modules
$serviceManager->get('ModuleManager')->loadModules();
```
do i make something wrong?
what is the suggested way to make it correctly?
thanks!
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Start with src/Codeception/Lib/Connector/Laminas.php around lines 196-205 and the service-manager setup shown in the issue. Trace what happens after ModuleManager->loadModules(), then document the supported way to mock a controller plugin factory and confirm that the guidance addresses the reported factory override.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- documentation, testing
- Tipo de issue
- Documentación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100