Archived post from my old blog (2007–2016), restored from the Wayback Machine. It is published as written at the time, in Italian; tools and versions are likely out of date.

Code coverage e librerie

  • php
  • symfony
  • code-coverage
  • phpstorm
  • phpunit
  • symfony

Phpstorm di base calcola la code coverage dei test unitari, ma questo può diventare un problema se si usano grosse librerie di terze parti

La soluzione è semplice e consiste nel mettere i file della libreria in blacklist nella configurazione di phpunit

Bisogna fare attenzione ad una cosa non tanto ovvia: ha precedenza la whitelist rispetto alla blacklist, quindi se come con symfony si ha un file di configurazione che di default ha questa sezione:

<filter>
  <whitelist>
   <directory>../src</directory>
   <exclude>
    <directory>../src/*/*Bundle/MyLibrary</directory>
    <directory>../src/*/*Bundle/Resources</directory>
    <directory>../src/*/*Bundle/Tests</directory>
    <directory>../src/*/Bundle/*Bundle/Resources</directory>
    <directory>../src/*/Bundle/*Bundle/Tests</directory>
   </exclude>
  </whitelist>
 </filter>

il path va aggiunto al blocco exclude della whitelist se la libreria viene tenuta da qualche parte sotto a ../src/

← Archive