【发布时间】:2018-01-03 22:45:33
【问题描述】:
我正在尝试将PhpStorm 2017.2 配置为将PhpUnit 5 用于我的PHP 5.6 项目。
-
我已经从the official source 下载了
phpunit-5.7.21.phar文件并将它放在我的PHP 5.6 安装目录中。 -
在 PhpStorm Settings >> Languages & Frameworks >> PHP >> Test Frameworks 中,我已链接到
.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
更新 1
我通过将保存 .phar 的目录添加到 PhpStorm 包含路径中解决了第二个问题,该路径在 设置 >> 语言和框架 >> PHP >> 包含路径选项卡中设置。或者,我可以将.phar 文件放在项目目录中,它会被索引。
我的第一个问题仍然需要帮助。
更新 2
感谢 Ástþór 的回答,我想出了如何让 PhpStorm 镜像专用测试目录中的项目结构。转到 PhpStorm 设置 >> 目录 并选择基本测试目录。点击顶部附近的Test 将其标记为测试源根
下次创建测试时,它会自动放在那个目录中。
【问题讨论】:
-
如果您投反对票,请留下反馈,说明原因,以便我了解您认为这是一个糟糕问题的原因。
标签: php unit-testing phpunit phpstorm