[Db] Change to disconnect on initialise breaks tests where Db is used in _beforeSuite
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 38/100
Rechercherichtung
Beginne mit der Untersuchung der Verbindungsinitialisierung des Db-Moduls und des Hilfscodes, der in _beforeSuite SQL ausführt, und verwende die gezeigte reconnect-Konfiguration, um den Fehler zu reproduzieren. Die Aufgabe ist abgeschlossen, wenn das Suite-Setup seine SQL-Anweisungen für die Steuerzeile ohne eine beendete Verbindung ausführen kann, wenn reconnect aktiviert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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:
config:
Db:
dsn: 'mysql:host=localhost;dbname=XXXX;charset=utf8'
user: 'root'
password: ''
dump: 'tests/_data/schema.sql'
populate: true
cleanup: false
reconnect: true
- Vorherrschende Sprache
- PHP
- Sterne
- 23
- Forks
- 31
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Codeception/module-db
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
Codeception/module-db#87 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
Codeception/module-db#85 ·
-
Make optional the auto-erase of the records, added by `haveInDatabase()`Evtl. vergeben @iliayatsenko hat das vor 674 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
Codeception/module-db#68 · 1 Kommentar ·
-
Fix a confusion between 'cleanup' and 'skip_cleanup_if_failed' configuration paramsEvtl. vergeben @iliayatsenko hat das vor 674 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
Codeception/module-db#67 ·
-
inserting null on an autoincrement primary key prevents cleanupEvtl. vergeben @jtopenpetition hat das vor 1213 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
Codeception/module-db#58 ·
Alle Issues in Codeception/module-db
Ähnliche Issues
-
maintenance
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
hawk-digital-environments/HAWKI#443 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
crazy-goat/rabbit-stream#799 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Code Quality
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Automattic/safe-publish#708 ·
Maintainer antworten meist innerhalb von 1 Tag