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

未关闭
#18 1 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
38/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
php
领域
databases

调研方向

首先检查 Db 模块的连接初始化,以及在 _beforeSuite 中运行 SQL 的辅助代码,使用所示的 reconnect 配置来重现故障。当启用 reconnect 时,套件设置能够在连接未终止的情况下执行其控制行 SQL,即表示完成。

由索引模型根据 Issue 内容生成。

描述

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
主要语言
PHP
星标
23
派生
31
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Codeception/module-db 的其他 Issue

查看 Codeception/module-db 的全部 Issue

相似的 Issue

更多 PHP Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。