2013-07-23 1 views
1

IDE 또는 xdebug없이 PHPUnit 테스트를 어떻게 디버깅합니까? PHPUnit이 모든 출력을 버퍼링한다는 사실은 내가 디버거 또는 IDE를 사용해야한다는 것을 의미하거나, $this->expectOutputString + print_r() (또는 무엇이든)과 주석 (exepcts 어서션이 마지막으로 평가되기 때문에 모든 내 (실패) assertions).IDE/xdebug없이 PHP 단위 디버깅

여기에서 가장 좋은 방법은 무엇입니까?

+1

모범 사례에 대해 잘 모릅니다.하지만 메모장을 사용할 때 항상 debug_error_log()를 사용합니다. – meda

+0

괜찮은 PHP IDE에는 PHPUnit/디버깅 기능이 있습니다. 왜 못생긴 print_r 또는 var_dump로 돌아갈 것입니까? –

+1

나는 학생들을 가르치기 때문에. 우리 대학은 가능한 한 맨손 도구로 시작하여 학생들에게 도구를 발견하도록 가르치는 전통을 가지고 있습니다. – Mystic

답변

0

IMO XDebug + IDE는 거의 항상 테스트를 디버그하는 가장 좋은 방법입니다. 그러나 화면에 인쇄 할 때 좋은 구식 방법을 사용하려면 stdout 대신 stderr 출력을 사용하십시오. 예를 들어

:

fprintf(STDERR, "Some label\n"); 
fprintf(STDERR, "Array dump: %s\n", var_export($someArray, true)); 

건배!

+0

콘솔 응용 프로그램을 실행중인 경우 간단히 ECHO를 사용할 수도 있습니다. –