我正在尝试将PhpStorm 2017.2
配置为PhpUnit 5
项目使用PHP 5.6
。
我从the official source下载了phpunit-5.7.21.phar
文件并将其放在我的PHP 5.6安装目录中。
在 PhpStorm设置>>语言与框架>> PHP>>测试框架,我已链接到.phar
可执行文件,并将默认配置文件设置为项目根目录中的phpunit.xml
phpunit.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<testsuites>
<testsuite name="Test suite">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
我正在尝试在tests/unit
目录中构建测试,在该目录中我的源文件项目结构将按照in the manual所述进行镜像。例如:
// project files:
ClassOne.php
vendor/
ClassTwo.php
Utility.php
// test files
tests/unit/
ClassOneTest.php
vendor/
ClassTwoTest.php
UtilityTest.php
我有两个问题:
首先,我不知道如何配置PhpStorm来在tests/unit/
内创建测试,以反映项目根目录的结构。当我创建测试时,默认情况下,该文件与项目文件放在同一目录中。
其次,我不知道如何让PhpStorm索引PHPUnit源代码。即使我已经链接到phpunit-5.7.21.phar
文件,如上所示,IDE在我创建测试时会抱怨:
namespace vendor;
class UtilityTest extends \PHPUnit_Framework_TestCase{}
未定义的类PHPUnit_Framework_TestCase
我通过将我已保存.phar
的目录添加到PhpStorm包含路径,在设置&gt;&gt;中设置,解决了第二个问题。语言与框架&gt;&gt; PHP&gt;&gt;包含路径选项卡。或者,我可以将.phar
文件放在项目目录中,然后将其编入索引。
我的第一个问题仍然需要帮助。
感谢Ástþór的回答,我想出了如何让PhpStorm在专用的测试目录中镜像项目结构。转到 PhpStorm设置&gt;&gt;目录并选择基本测试目录。点击顶部附近的Test
将其标记为“测试来源根”
下次创建测试时,它将自动放置在该目录中。
答案 0 :(得分:2)
使用您的源类标记目录为&#34;源根&#34;和一个测试目录为&#34;测试源Root&#34;。之后,目录将在测试创建时预先填充(例如,通过源类上的ctrl + shift + T) 不确定,如果这对你的&#34;镜像&#34; system:我猜你仍然需要手动调整测试部分的目录