2010-07-08 3 views
10

요구 사항과 코드 커버리지에서 파일/코드 블록을 제외하는 방법 :넷빈즈/PHPStorm/phpunit을 통합

  • phpunit을 가진 넷빈즈 (6.9)
  • 편집 : 동일 적용, 예를 들어,
  • 을 PHPStorm하기

은 방법 :

  • 코드 코브에서 라인을 제외 격노.
  • 코드 적용 범위에서 코드 블록 (줄)을 제외하십시오.

답변

16

코드 범위는 100 %이지만 테스트 할 수없는 줄이 하나 이상있는 경우 특수 특수 효과를 적용 할 수 있습니다. 이들은 코드 커버리지 보고서에서 무시됩니다.

if (($result = file_get_contenst($url)) === false) { 
    // @codeCoverageIgnoreStart 
    $this->handleError($url); 
    // @codeCoverageIgnoreEnd 
} 

편집 : 나는 Xdebug는 종종 닫는 중괄호가 실행으로 간주 것으로 나타났습니다. 그렇게되면 :(, 그 아래에 종료 태그를 이동

+0

코드가 작동하지 않도록 PHPUnit의 이전 버전을 사용했습니다. 나는 그것을 알아 냈지만 감사합니다. 더 나은 해결책은 phpunit.xml => 나는 대답을 게시하는 것입니다 .. – Alfred

+0

PHPStorm으로 확인 : 닫는 대괄호 뒤에 끝 태그를 이동해야합니다. – tivnet

2

먼저 최신의 그리고 최고의 phpunit을하거나 다른 코드가 누락 될 수 있습니다 무시를 가지고 있는지 확인 다음은 다음과 같이 보이는 phpunit.xml 파일을 작성합니다..

<phpunit colors="true"> 
    <filter> 
     <blacklist> 
      <file>file1.php</file> 
      <file>file2.php</file> 
     </blacklist> 
    </filter> 
</phpunit> 
+4

귀하의 질문에 위와 같은 작업을 수행하지 않을 선과 블록을 제외하라는 질문에 전체 파일을 무시합니다. 또한 화이트리스트를 사용하는 경우 블랙리스트가 무시됩니다. –

+0

죄송합니다. David. 이 질문은 오래 전에 물어 보았습니다. 제목에 파일이 있습니다. 그러나 정보에 감사드립니다. – Alfred

20

무시하는 방법 코드 블록 :

/** 
* @codeCoverageIgnore 
*/ 
function functionToBeIgnored() { 
    // function implementation 
} 

클래스 코드 블록을 무시 :

/** 
* @codeCoverageIgnore 
*/ 
class Foo { 
    // class implementation 
} 

그리고 @ 데이비드 - 하크 니스 말했듯이, 무시하는 개별 라인 :

// @codeCoverageIgnoreStart 
print 'this line ignored for code coverage'; 
// @codeCoverageIgnoreEnd 

더 자세한 정보는 무시 코드 블록 제목 아래 PHPUnit Documentation에서 발견에 의해 수 있습니다.