Когда я включаю Xdebug, настройка загрузчика phpunit не работает - PullRequest
0 голосов
/ 12 сентября 2018

У меня проблема при использовании Xdebug и PHPUnit.
Потому что я хочу использовать AspectMock , поэтому я создаю bootstrap в конфигурации phpunit.xml, и все идет хорошо.
Однако, когда я пытаюсь включить Xdebug для генерации отчета о покрытии, он не использовал мои настройки начальной загрузки. (Я не уверен, что это из-за того, что он не читал или настройки начальной загрузки были закрыты)
Я не знаю, почему и где можно найти ошибки.

Вот пример результата (у меня есть дамп моего макета): (то же самое с -c phpunit.xml)

$ vendor / bin / phpunit test.php

array: [
  "status" => "successed", 
  "data" => ["test" => "test"]
]

$ vendor / bin / phpunit --coverage-html build / охват test.php (потому что данные не дразнили)

array: [
  "status" => "failed", 
  "data" => []
]



php.ini

[Xdebug]
zend_extension = / USR / Библиотека / PHP / расширения / нет отлаживать-не-ЗТС-20160303 / xdebug.so
xdebug.remote_enable = О


$ php -v

PHP 7.1.16 (cli) (построен: 31 марта 2018 02:59:59) (NTS)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
с Xdebug v2.6.1, Copyright (c) 2002-2018, Дериком Ретансом


phpunit.xml

<?xml version="1.0" encoding="UTF-8"?>                                                                               
<phpunit backupGlobals="false"                                                                                       
         backupStaticAttributes="false"                                                                              
         bootstrap="tests/bootstrap.php"                                                                             
         colors="true"                                                                                               
         convertErrorsToExceptions="true"                                                                            
         convertNoticesToExceptions="true"                                                                           
         convertWarningsToExceptions="true"                                                                          
         processIsolation="false"                                                                                    
         stopOnFailure="false">                                                                                      
    <testsuites>                                                                                                     
        <testsuite name="test">                                                                               
            <directory suffix="Test.php">./tests</directory>                                                         
        </testsuite>                                                                                                 
    </testsuites>                                                                                                    

<filter>                                                                                                         
    <whitelist processUncoveredFilesFromWhitelist="true">                                                        
        <directory suffix=".php">./app</directory>                                                               
    </whitelist>                                                                                                 
</filter> 

</phpunit>

Тесты / bootstrap.php

<?php                                                                                                                
include __DIR__.'/../vendor/autoload.php'; // composer autoload                                                      

$kernel = \AspectMock\Kernel::getInstance();                                                                         
$kernel->init([                                                                                                      
    'debug' => true,                                                                                                 
    'includePaths' => [__DIR__.'/../app'],                                                                           
    'cacheDir' => __DIR__.'/cache/aspectmock',                                                                       
    'excludePaths' => [                                                                                              
        __DIR__,                                                                                                     
        __DIR__ . '../../vendor',                                                                                    
    ],                                                                                                               
]); 
...