使用Xdebug和PHPUnit时出现问题。
因为我想使用AspectMock,所以我在phpunit.xml配置中创建了引导程序,一切顺利。
但是,当我尝试打开Xdebug生成覆盖率报告时,它没有使用我的引导程序设置。 (我不确定这是因为未读或覆盖了引导程序设置)
我不知道为什么或在哪里找到错误。
这是结果示例(我已经转储了我的模拟文件):(与-c phpunit.xml相同)
$ vendor / bin / phpunit test.php
array: [
"status" => "successed",
"data" => ["test" => "test"]
]
$ vendor / bin / phpunit --coverage-html build / coverage test.php (因为没有模拟数据)
array: [
"status" => "failed",
"data" => []
]
php.ini
[Xdebug]
zend_extension = / usr / lib / php / extensions / no-debug-non-zts-20160303 / xdebug.so
xdebug.remote_enable =打开
$ php -v
PHP 7.1.16(cli)(内置:2018年3月31日02:59:59)(NTS)
版权所有(c)1997-2018 The PHP Group
Zend Engine v3.1.0,版权所有(c)1998-2018 Zend Technologies
与Xdebug v2.6.1,版权(c)2002-2018,作者Derick Rethans
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>
tests / 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',
],
]);