2013-09-23 1 views
2
여기

phpunit.xml입니다 :네임 스페이스 코드 범위에 포함되지

<phpunit 
     bootstrap="bootstrap.php" 
     colors="false" 
     convertErrorsToExceptions="true" 
     convertNoticesToExceptions="true" 
     convertWarningsToExceptions="true" 
     stopOnFailure="false" 
     stopOnError="false" 
     stopOnIncomplete="false" 
     stopOnSkipped="false"> 

    <filter> 
     <whitelist processUncoveredFilesFromWhitelist="true"> 
      <directory suffix=".php">../modules</directory> 
      <directory suffix=".php">../models</directory> 
      <directory suffix=".php">../lib</directory> 
      <directory suffix=".php">../components</directory> 
      <exclude> 
       <directory suffix=".php">../modules/*/views</directory> 
       <directory suffix=".php">../modules/*/widgets</directory> 
       <directory suffix=".php">../modules/*/controllers</directory> 
       <directory suffix=".php">../modules/ClaimProfile</directory> 
       <directory suffix=".php">../modules/SocialNetworks</directory> 
      </exclude> 
     </whitelist> 
    </filter> 

    <logging> 
     <log type="coverage-clover" target="build/logs/clover.xml" /> 
     <log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="true" /> 
    </logging> 
</phpunit> 

그 결과 clover.xml이 네임 스페이스 클래스와 정보가 포함되어 있지 않습니다 제외한 모든 Jenkin의 PHP-클로버 플러그인이 코드를 무시 범위를보고 계속 네임 스페이스 내부. 즉, 네임 스페이스를 정의하는 소스 파일은 보고서에 표시되지 않지만 전역 네임 스페이스에 완전히 포함 된 코드가있는 파일은 목록에 표시됩니다.

+0

다른 버전인지 여부는 알 수 없지만 xml.dist 파일에 "processUncoveredFilesFromWhitelist"대신 "addUncoveredFilesFromWhitelist"가 표시됩니다. – STLMikey

+0

이 질문은 OP 질문에 대한 대답 만 상속받습니다 실제로 그것에 대한 자신의 이해입니다. 지금까지 그리고 앞으로 더 나아질 때까지 나는이 "코드 덤프 (code dump)"가 잘못되어서 잘 이해되지 않았고 (이전의 주석도 참고), 그러므로 나는 (자기) 복제본으로 닫도록 투표한다고 가정한다. – hakre

+0

[코드 적용 범위에서 패턴 제외] 가능한 복제본 (http://stackoverflow.com/questions/18954517/exclude-a-pattern-from-code-coverage) – hakre

답변

1

결국 같은 문제가 발생했습니다. 젠킨스 클로버 PHP 플러그인은 여기에 오류가 밝혀졌다 :

https://github.com/jenkinsci/cloverphp-plugin/blob/master/src/main/java/org/jenkinsci/plugins/cloverphp/CloverCoverageParser.java

하나 쉽게 볼 수 있듯이, 클로버 범위 파서 범위/프로젝트 범위/프로젝트/파일 및 적용 범위/프로젝트/파일/클래스 객체를 구문 분석 . 그것은 coverage/project/package (그리고 내부의 모든 것)를 무시합니다.

이것은 플러그인 관리자가 쉽게 수정할 수 있습니다.