2013-08-04 4 views
28

저는 Laravel 4 프레임 워크에서 phpunit을 사용하고 있습니다. 테스트 중에 PHP 오류가 발생하면 오류 메시지가 표시되지 않는 이유는 무엇입니까 (예 : 누락 된 메서드)?phpunit이 콘솔에 오류를 표시하지 않는 이유는 무엇입니까

어떻게 모든 오류를 표시하도록 phpunit을 얻을 수 있습니까?

enter image description here

+0

모든 PHPunit 오류가 발생할 수 있습니다. [This one] [1] 또는 [This one] [2]는 당신에게 유용 할 것입니다. [1] : http://stackoverflow.com/questions/3569862/phpunit-errors [2] : http://stackoverflow.com/questions/5994729/phpunit-not-showing-a-stack-trace -for-a-php-fatal-error –

답변

23

나는 문제가 아마 인 PHP 자체되지 phpunit을을 의미한다 생각합니다. 다음 단계를 따르십시오 :

1. 정확함을 확인하십시오. php.ini. 일부 시스템은 다른 PHP의 SAPI에 대해 서로 다른 php.ini을 사용할 수 있습니다 :

php -i | grep php.ini 
Configuration File (php.ini) Path => /etc/php5/cli 
Loaded Configuration File => /etc/php5/cli/php.ini 

2. 편집 오류 출력 설정. php.ini 대응에 error_reporting에 대한 display_errors, display_startup_errors을 적절한 설정을 설정합니다 : 당신이 전역 범위에서 동작을보고 CLI 오류를 변경하지 않으려면

error_reporting = E_ALL 
display_errors = On 
display_startup_errors = On 

, 당신은 그 settnigs을 정의하기위한 phpunit을 부트 스트랩 파일을 사용할 수 있습니다.

1. PHPUnit의 설치 부트 스트랩. 열기 /Applications/MAMP/htdocs/testtingDecoded/phpunit.xml 파일 및 phpunit을 태그에 부트 스트랩 특성을 추가 : 실행중인 경우

<?php 
ini_set('error_reporting', E_ALL); // or error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
ini_set('display_startup_errors', '1'); 
40

이것은 매우 일반적인 문제, 특히 :

<phpunit bootstrap="bootstrap.php"> 

2. phpunit.xml과 폴더에 bootstrap.php 만들기 프로덕션 서버의 테스트 또는 테스터가 PHP 구성을 잘 모르는 경우.

문제는 Alexander Yancharuk에 의해 답변 된 php.ini 설정과 관련이 있으며 문제 해결에 도움이되는 모든 솔루션에 대해 설명합니다.

그러나 다음과 같이이 phpunit을 구성 파일 (XML) 자체에서 적절한 PHP 설정을 설정하는 것입니다 어느 날이었다로 유용 할 수있는 다른 해결책은있다 :

<phpunit> 
    <suites> 
     ... 
    </suites> 
    <php> 
     <ini name="display_errors" value="On" /> 
     <ini name="display_startup_errors" value="On" /> 
    </php> 
</phpunit> 

를이 사용 오류 표시뿐만 아니라 많은 PHP 구성, 특히 테스트 스위트에 맞게 설정하여 프로덕션 구성을 변경하지 않고 부트 스트랩 파일을 작성하지 않아도됩니다.

+0

나는 이것을 시도했지만 그것은 나를 위해 일하지 않는다. 내가 뭔가를 놓치고 있는지 궁금해. High Sierra를 실행하는 Mac에서 Laravel 5.6을 사용하고 있습니다. PHP 버전 7.1.7 및 phpunit 7.0.0. ''요소에 표시된 두 줄을 Laravel과 함께 제공되는'phpunit.xml' 파일에 추가했지만 행운은 없습니다. 오류는 계속 표시되지 않습니다. 왜 어떤 생각하지? – flyingL123

관련 문제