Codeception / Codeception/module-mezzio

ZendExpressive module fails when trying to use DataFactory with recreateApplicationBetweenTests set to true

Abierto
#7 4 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
PHP
Estrellas
1
Forks
4
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

#### What are you trying to achieve?

I'm trying to use use FactoryMuffin for tests in my Zend Expressive application. With default setting **recreateApplicationBetweenTests: true** for ZendExpressive module tests don't work. I'm getting an exception. Changing config to **recreateApplicationBetweenTests: false** helps but I need to use **recreateApplicationBetweenTests: true**.

#### What do you get instead?

```bash
php vendor/bin/codecept run tests/api/Stores/CreateViewCest.php -vvv
Codeception PHP Testing Framework v3.1.0
Powered by PHPUnit 8.3.4 by Sebastian Bergmann and contributors.
Running with seed:

[Seed] 1069952343

[Connecting To Db] {"config":{"populate":false,"cleanup":false,"reconnect":false,"waitlock":0,"dump":"tools/migration/giftcard_structure.sql","populator":null,"dsn":"mysql:host=127.0.0.1;dbname=test_giftcard_local;port=32768","user":"api_user","password":"api_user_pwd"},"options":[]}
[Db] Connected to default test_giftcard_local
PHP Fatal error: Uncaught Error: Call to a member function has() on null in /Users/local/Workspace/proj/vendor/codeception/codeception/src/Codeception/Module/ZendExpressive.php:94
Stack trace:
#0 /Users/local/Workspace/proj/vendor/codeception/codeception/src/Codeception/Module/Doctrine2.php(222): Codeception\Module\ZendExpressive->_getEntityManager()
Codeception/Codeception#1 /Users/local/Workspace/proj/vendor/codeception/codeception/src/Codeception/Module/Doctrine2.php(1011): Codeception\Module\Doctrine2->retrieveEntityManager()
Codeception/Codeception#2 /Users/local/Workspace/proj/vendor/codeception/codeception/src/Codeception/Module/DataFactory.php(178): Codeception\Module\Doctrine2->_getEntityManager()
Codeception/Codeception#3 /Users/local/Workspace/proj/vendor/codeception/codeception/src/Codeception/Module/DataFactory.php(158): Codeception\Module\DataFactory->getStore()
Codeception/Codeception#4 /Users/local/Workspace/proj/vendor/codeception/codeception/src/Codeception/Module/ZendExpressive.php on line 94
```

### Details

* Codeception version: 3.1.0
* PHP Version: 7.1.3
* Operating System: MacOS
* Installation type: Composer
* List of installed packages (`composer show`)
```
codeception/codeception 3.1.0
zendframework/zend-expressive 3.2.1
phpunit/phpunit 8.3.4
league/factory-muffin v3.0.1
```

* Suite configuration:
\Tests\Helper\Api extends \Codeception\Module\ZendExpressive

```yml
class_name: ApiTester
modules:
enabled:
- \Tests\Helper\Api
- Asserts
- Db
- REST
- DataFactory
config:
\Tests\Helper\Api:
environment_file: .env.testing
disable_exception_handling: false
run_database_seeder: false
cleanup: false
recreateApplicationBetweenTests: true
REST:
depends: \Tests\Helper\Api
part: Json
DataFactory:
factories: tests/_support/factories
depends: Doctrine2
cleanup: false
Doctrine2:
depends: \Tests\Helper\Api

```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.