【发布时间】:2019-03-30 13:29:00
【问题描述】:
我用 phpUnit 玩了一个星期。
我正在慢慢推进文档:
此时我处于代码覆盖率。我设法生成了小测试 --coverage-html (通过控制台)。我希望一切都通过 phpStorm 工作。
我正在为包含路径而苦苦挣扎。我可以在控制台中看到错误,但这些根本没有帮助。
这是我的控制台输出的样子:
这是我唯一使用此文件的地方
这是测试和显示(在控制台中)文件的文件夹结构的样子
|- dir:Boostrap
|- dir:Coverage
|- dir:Database
|- dir:Interfaces
|- dir:Methods
|---- file: BasicCalculations.php (line 3 inclusion)
|- dir:Tests
|---- file:DataDisplayingTest.php (file that I'm testing)
|---- dir:Data Providers
|-------- file:BasicCalculationDataProvider.php (line 4 inclusion)
我已经尝试过/到目前为止我做了什么
- Cannot find PHPUnit in include path phpstorm(我不是通过 composer/vendor 来做这件事的,所以这没有帮助,我的远程机器用于所有的调试、计算等)。
-
PHPUnit test suite include path - 这给了我尝试使用引导文件的想法,其中包含了所有必需的文件,但同样只能通过在控制台中手动运行测试来实现 - 我想让它在 phpStorm 中远程工作。
PHPUnit's whitelist and blacklist seem to be ignored 。此时情况看起来像这样 没有 processUncoveredFilesFromWhitelist="true" 我没有包含错误,但在那之后我得到了更多错误: 看起来它正在尝试工作,因为控制台暂时变绿了,我现在有了 Coverage 面板,但我敢打赌这个错误不应该存在。我无法确定覆盖率报告是否正确显示。
PHPUnit error "Failed to open stream: No such file or directory" - 如您所见,我已经尝试了 DIR,
- https://github.com/sebastianbergmann/phpunit/issues/1932 - 这对我有点帮助,现在我知道我可以/必须导入 xml,这样我就不必通过 ssh 远程生成覆盖率报告
这就是我的 phpunit.xml 的样子:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="phpunit.xsd"
cacheResult="true"
verbose="true">
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory>/var/www/html/phpUnit</directory>
</whitelist>
</filter>
<php>
<includePath>/var/www/html/phpUnit</includePath>
</php>
</phpunit>
我玩过目录/包含路径,尝试过如下变体:
- /var/www/html/phpUnit
- /var/www/html/phpUnit/
- .
- ./
- <file>pointed/tested/file/here/</file>
我正在合作:
- phpStorm
- phpUnit 7.x 远程
- php 7.x 远程
- xdebug 远程
为了更清楚:
- 我做错了什么?
- 如何处理夹杂问题?
- 是什么导致了所有这些包含路径问题?
【问题讨论】:
-
我认为我已经取得了一些进展:this。这:
<whitelist addUncoveredFilesFromWhitelist="false">似乎删除了最后一行的所有错误,甚至覆盖了覆盖的代码百分比。明天最有可能进行测试。 -
嗨,看看这个关于如何配置 PHPStorm 和 PHPUnit 的特定文档。 jetbrains.com/help/phpstorm/enabling-php-unit-support.html
-
嗨,感谢您的回答,我已经设法解决了所有问题,令人惊讶的是,这些不是基于 phpStorm 的问题 - 将在空闲时间全部编写。
标签: phpunit phpstorm code-coverage