2015-06-17 4 views
4

Мне интересно, можно ли настроить PHPStorm, чтобы исключить тестовую папку из процентов, поскольку мой модуль имеет покрытие 100%, но папка Test приносит общее значение до 50%.PHPStorm исключить тесты из процентной доли покрытия

Tests bringing percentage down

Это может быть не связан, но у меня есть проблема, где окно покрытия никогда не отображает реальные данные покрытия, ни в отдельной вкладке, ни просмотр самого файла.

Empty coverage data

Скорее всего, у меня есть неправильно сконфигурированный что-то, или это что-то делать с моей установки проекта (композитор на основе Magento проекта с символических ссылок), но я стучал головой о стену немного. Любые предложения приветствуются.

Обновление включает phpunit.xml:

<?xml version="1.0"?> 
<!-- initial phpunit configuration file, that you can modify for your project needs --> 
<phpunit cacheTokens="true" 
     colors="true" 
     convertErrorsToExceptions="true" 
     convertNoticesToExceptions="true" 
     convertWarningsToExceptions="true" 
     stopOnError="false" 
     stopOnFailure="false" 
     stopOnIncomplete="false" 
     stopOnSkipped="false" 
     strict="false" 
     stderr="true" 
     verbose="false" 
     bootstrap="app/code/community/EcomDev/PHPUnit/bootstrap.php"> 
    <listeners> 
     <listener file="app/code/community/EcomDev/PHPUnit/Test/Listener.php" class="EcomDev_PHPUnit_Test_Listener"/> 
    </listeners> 
    <testsuite name="Magento Test Suite"> 
     <file>app/code/community/EcomDev/PHPUnit/Test/Suite.php</file> 
    </testsuite> 
    <filter> 
     <blacklist> 
      <!-- Exclude Magento Core files from code coverage --> 
      <directory suffix=".php">app/code/core</directory> 
      <!-- Exclude EcomDev_PHPUnit classes from code coverage --> 
      <directory suffix=".php">app/code/community/EcomDev/PHPUnit</directory> 
      <directory suffix=".php">lib/EcomDev/Utils</directory> 
      <directory suffix=".php">lib/EcomDev/PHPUnit</directory> 
      <directory suffix=".php">lib/Spyc</directory> 
      <directory suffix=".php">lib/vfsStream</directory> 
      <!-- Exclude Mage.php file from code coverage --> 
      <file>app/Mage.php</file> 
      <!-- Exclude template files --> 
      <directory suffix=".phtml">app/design</directory> 
      <!-- Exclude Varien & Zend libraries --> 
      <directory suffix=".php">lib/Varien</directory> 
      <directory suffix=".php">lib/Zend</directory> 
      <directory suffix=".php">lib/Magento</directory> 
     </blacklist> 
    </filter> 
    <logging> 
     <log type="coverage-html" target="var/phpunit/coverage" charset="UTF-8" yui="true" highlight="false" lowUpperBound="35" highLowerBound="70"/> 
     <log type="coverage-clover" target="var/phpunit/coverage.xml"/> 
     <log type="junit" target="var/phpunit/junit.xml" logIncompleteSkipped="false"/> 
    </logging> 
</phpunit> 

Причина, я думал, что это может быть PhpStorm является тот факт, что HTML версия покрытия отлично работает, правильно за исключением папки Test.

Correct coverage in HTML view

+0

«Обзор покрытия: null» - Да - ** символические ссылки ** или проверенный код находится за пределами корня проекта. Имена файлов в файле .xml для покрытия кода ** должны совпадать с именами, с которыми работает IDE. https://youtrack.jetbrains.com/issue/WI-11852 и связанные. – LazyOne

+1

* «Тест (0% файлов)» * - 1) настроить белый список в вашем phpunit.xml в соответствии с предложением от Sebastian; 2) https://youtrack.jetbrains.com/issue/WI-27434 - надеюсь, в один прекрасный день PhpStorm сама будет автоматически удалять файлы из папок с исходными текстами. – LazyOne

+0

Спасибо LazyOne, так что мне кажется, что мне нужно будет жить с процентом, показывающим 0% в представлении «Проекты», пока они не разрешат эту проблему? По крайней мере, я знаю, что это не только я! Я попытался скопировать файлы, чтобы они были физически, а не символические ссылки, но тот же результат. Даже изменение результата покрытия .xml, похоже, не влияет. Я буду продолжать общаться с ним, спасибо за ваш ответ. –

ответ

2

Это не имеет ничего общего с PhpStorm. Вам просто нужно настроить whitelist для вашего проекта.

+1

Спасибо за отзыв Себастьян, я действительно пробовал это без везения. Я обновил исходный вопрос с помощью моей конфигурации и скриншотом отчета по охвату HTML, что на самом деле правильно и заставило меня поверить, что проблема связана с PHPStorm. –

Смежные вопросы