Pergunta

Eu uso phpunit para testes de unidade, mas quando um erro fatal é acionado, o script morre e não tenho saída correta de phpunit.

Eu gostaria que a saída da phpunit permaneça corretamente formado, porque é lido por um plug -in para o Eclipse. Na verdade, o erro fatal interrompe a phpunit e, no eclipse, o plug -in não pode interpretar nada (porque o script phpunit teve um erro, em vez de lidar com isso).

Obrigado

Foi útil?

Solução

Você precisa usar os recursos de isolamento do processo do Phpunit - inicie cada conjunto de testes em um novo processo.

phpunit --process-isolation ...

Esta é a única maneira de garantir que os erros fatais não quebrem sua saída de phpunit.

Tempo de execução

O isolamento do processo multiplica o tempo de execução do seu teste, porque Para cada teste único, uma nova instância do PHP é iniciada, o bootstrap é executado etc.

Para alterar essa situação, você pode optar por executar casos de teste completos em um processo separado (@runTestsInSeparateProcesses), ou apenas os únicos que são conhecidos por algumas vezes (às vezes (@runInSeparateProcess).

Outras dicas

set_error_handler () não o ajudará lá. Você pode pegar erros fatais usando Register_shutdown_function ()

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top