Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#18 1 comentário 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
38/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
php
Domínio
databases

Direção de pesquisa

Comece inspecionando a inicialização da conexão do módulo Db e o código auxiliar que executa SQL em _beforeSuite, usando a configuração de reconnect mostrada para reproduzir a falha. O trabalho estará concluído quando a configuração da suíte puder executar seu SQL da linha de controle sem uma conexão encerrada quando reconnect estiver habilitado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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
Linguagem predominante
PHP
Estrelas
23
Forks
31
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

  • Inclui um Dockerfile ou arquivo Docker Compose
  • Sem modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Codeception/module-db

Todas as issues de Codeception/module-db

Issues semelhantes

Mais issues de PHP

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.