Codeception / Codeception/module-db

[Db] Change to disconnect on initialise breaks tests where Db is used in _beforeSuite

Ouverte
#18 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub
Langage dominant
PHP
Étoiles
23
Forks
31
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

#### What are you trying to achieve?

A helper runs code to modify the database in `_beforeSuite` in order to add control rows before any tests are run.

#### What do you get instead?

The code crashes upon trying to run SQL as the connection has been terminated. This was new behaviour added by https://github.com/Codeception/Codeception/commit/5e2c999df9eae7ff4f802eb801940f87088f0fc7

Easiest fix would be to create a public method on `Db` to ensure that the connection is open before running code if config has reconnect. The quickest route would just be to make `connect()` public.

### Details

* Codeception version: 2.2.11
* PHP Version: 7.0.19
* Operating System: Ubuntu 16.04 LTS
* Installation type: Composer
* List of installed packages (`composer show`) not relevant
* Suite configuration:

```yml
config:
Db:
dsn: 'mysql:host=localhost;dbname=XXXX;charset=utf8'
user: 'root'
password: ''
dump: 'tests/_data/schema.sql'
populate: true
cleanup: false
reconnect: true
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par inspecter l’initialisation de la connexion du module Db et le code auxiliaire qui exécute du SQL dans _beforeSuite, en utilisant la configuration de reconnect indiquée pour reproduire l’échec. C’est terminé lorsque la configuration de la suite peut exécuter son SQL de contrôle sans connexion interrompue lorsque reconnect est activé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
databases
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.