PHPUnitManual:14.4

From 흡혈양파의 번역工房
Jump to navigation Jump to search
14.4 Edge cases

대부분의 경우에, PHPUnit 은 "행 단위의 (line based)" code coverage 정보를 제공할 것입니다. 그렇지만, 이 정보 수집의 방법으로 인해 주의해야 할 Edge case 가 발생하는 경우가 있습니다.


예14.5

<?php
  // Coverage 는 "문 단위" 가 아닌 "행 단위" 이기 때문에
  // 한 줄에 쓰여진 여러 문장은, 하나의 Coverage 상태를 가집니다.
if(false) this_function_call_shows_up_as_covered();

// Code coverage 의 내부 동작에 의해, 다음 2행은 특별 취급됩니다.
// 다음 행은 "실행되지 않은 행" 으로 취급됩니다
if(false)
  // 다음 행은 "실행 가능한 행" 으로 취급됩니다
  // 구조적으로, 위 행의 if 문에 대한 coverage 정보가 여기에 표시되기 때문입니다
  will_also_show_up_as_coveraged();

// 이런 문제를 피하기 위해서는, 다음과 같이 중괄호를 사용해야만 합니다
if(false) {
  this_call_will_never_show_up_as_covered();
 }
?>


Notes