1
resposta

[Dúvida] Testes com Pest

estou iniciando nos testes com Pest e gostaria que não apresentasse erro nesse caso, quando o dd for usado:

if (Versao::isLocal()) { dd($t); }

quando realizo esse teste: <?php

it('Nenhum debug acidental no código', function () { expect(['dd', 'dump', 'var_dump']) ->not() ->toBeUsed(); });

é possível?

1 resposta

Oii Erica, tudo bem?

Levando em conta o contexto passado, infelizmente, a função dd() irá interromper a execução do código imediatamente, o que pode causar problemas ao executar seus testes. Se você deseja evitar que o dd() seja executado durante os testes, uma abordagem possível seria verificar se o aplicativo está atualmente em execução em um ambiente de teste.

Um exemplo:

if (Versao::isLocal() && !app()->runningUnitTests()) {
    dd($t);
}

A função dd() só será executada se o ambiente for local e o aplicativo não estiver executando testes unitários.

No entanto, é importante lembrar que a função dd() é geralmente usada para depuração e pode não ser a melhor prática deixá-la no código de produção. Uma alternativa seria usar o log ou outras ferramentas de depuração.

Abraços.