PHPUnit9.0 XML 配置文件-<coverage> 元素
<coverage> 元素
父元素:<phpunit>
<coverage>
元素及其子元素可用于配置代码覆盖率:
<coverage cacheDirectory="/path/to/directory"
includeUncoveredFiles="true"
processUncoveredFiles="true"
pathCoverage="false"
ignoreDeprecatedCodeUnits="true"
disableCodeCoverageIgnore="true">
<!-- ... -->
</coverage>
cacheDirectory 属性
可能值:字符串
当收集并处理代码覆盖率数据时,将执行静态代码分析以改善有关覆盖代码的推理。这是一项昂贵的操作,而其结果可以缓存。设置 cacheDirectory
属性后,静态分析结果将缓存在指定目录中。
includeUncoveredFiles 属性
可能值:true
或 false
(默认值:true
)
当设置为 true
时,所有配置为代码覆盖率分析需要考虑的源代码文件都将包含在代码覆盖率报告中。这包括测试运行时并未执行的源代码文件。
processUncoveredFiles 属性
可能值:true
或 false
(默认值:false
)
当设置为 true
时,所有配置为代码覆盖率分析需要考虑的源代码文件都将被处理。这包括测试运行时并未执行的源代码文件。
ignoreDeprecatedCodeUnits 属性
可能值:true
或 false
(默认值:false
)
此属性配置代码覆盖率是否应忽略标注为 @deprecated
的代码单元。
pathCoverage 属性
可能值:true
或 false
(默认值:false
)
设置为 false
时,将仅收集、处理和报告行覆盖率数据。
设置为 true
时,将收集、处理和报告行覆盖率、分支覆盖率和路径覆盖率数据。这需要支持路径覆盖率的代码覆盖率驱动程序。目前只有 Xdebug
实现了路径覆盖率。
disableCodeCoverageIgnore 属性
可能值:true
或 false
(默认值:false
)
此属性配置是否应忽略 @codeCoverageIgnore*
批注。
<include> 元素
父元素:<coverage>
配置要包含在代码覆盖率报告中的文件集合。
<include>
<directory suffix=".php">src</directory>
</include>
上面示例指示 PHPUnit 在代码覆盖率报告中要包含在 src 目录及其子目录中的所有带 .php
后缀的源代码文件。
<exclude> 元素
父元素:<coverage>
配置要从代码覆盖率报告中排除的文件集合。
<include>
<directory suffix=".php">src</directory>
</include>
<exclude>
<directory suffix=".php">src/generated</directory>
<file>src/autoload.php</file>
</exclude>
上面示例指示 PHPUnit 在代码覆盖率报告中要包含在 src 目录及其子目录中的所有带 .php
后缀的源代码文件,但要排除 src/generated
目录及其子目录中的所有带 .php
后缀的文件以及 src/autoload.php
文件。
<directory> 元素
父元素:<include>
、<exclude>
配置要包含在代码覆盖率报告中或从代码覆盖率报告中排除的目录及其子目录。
prefix 属性
可能值:字符串
配置基于前缀的过滤器,该过滤器将应用于目录及其子目录中的文件名。
suffix 属性
可能值:string
(默认值:'.php'
)
配置基于后缀的过滤器,该过滤器将应用于目录及其子目录中的文件名。
phpVersion 属性
可能值:字符串
配置基于用来运行当前 PHPUnit 进程的 PHP 运行时版本的过滤器。
phpVersionOperator 属性
可能值:'<'
、'lt'
、'<='
、'le'
、'>'
、'gt'
、'>='
、'ge'
、'=='
、'='
、'eq'
, '!='
, '<>'
, 'ne'
(默认值:'>='
)
配置基于用来运行当前 PHPUnit 进程的 PHP 运行时版本的过滤器的 version_compare()
操作所用的比较运算符。
<file> 元素
父元素:<include>
、<exclude>
配置要包含在代码覆盖率报告中或从代码覆盖率报告中排除的文件。
<report> 元素
父元素:<coverage>
配置要生成的代码覆盖率报告。
<report>
<clover outputFile="clover.xml"/>
<crap4j outputFile="crap4j.xml" threshold="50"/>
<html outputDirectory="html-coverage" lowUpperBound="50" highLowerBound="90"/>
<php outputFile="coverage.php"/>
<text outputFile="coverage.txt" showUncoveredFiles="false" showOnlySummary="true"/>
<xml outputDirectory="xml-coverage"/>
</report>
<clover> 元素
父元素:<report>
配置 Clover XML 格式的代码覆盖率报告。
outputFile 属性
可能值:字符串
Clover XML 报告写入的文件。
<crap4j> 元素
父元素:<report>
配置 Crap4J XML 格式的代码覆盖率报告。
outputFile 属性
可能值:字符串
Crap4J XML 报告写入的文件。
threshold 属性
可能值:integer
(默认值:50)
<html> 元素
父元素:<report>
配置 HTML 格式的代码覆盖率报告。
outputDirectory 属性
HTML 报告写入的目录。
lowUpperBound 属性
可能值:integer
(默认值:50)
应当被视为“低覆盖率”的上限。
highLowerBound 属性
可能值:整数(默认值:90)
应当被视为“高覆盖率”的下限。
<php> 元素
父元素:<report>
配置 PHP 格式的代码覆盖率报告。
outputFile 属性
可能值:字符串
PHP 报告写入的文件。
<text> 元素
父元素:<report>
配置文本格式的代码覆盖率报告。
outputFile 属性
可能值:字符串
文本报告写入的文件。
showUncoveredFiles 属性
可能值:true
或 false
(默认值:false
)
showOnlySummary 属性
可能值:true
或 false
(默认值:false
)
<xml> 元素
父元素:<report>
配置 PHPUnit XML 格式的代码覆盖率报告。
outputDirectory 属性
可能值:字符串
PHPUnit XML 报告写入的目录。
更多建议: