在IntelliJ / PhpStorm中更改测试根路径/模式

时间:2019-06-25 07:48:50

标签: intellij-idea namespaces phpunit phpstorm phpunit-testing

在我的PhpStorm / IntelliJ中,我有一个ls: cannot access '/home/stajyer/myNameChangedFile/aFileInChangedFile4:ayberk': No such file or directory ls: cannot access 'Binary': No such file or directory ls: cannot access 'file': No such file or directory ls: cannot access 'matches': No such file or directory -rw------- 1 stajyer stajyer 9787 Haz 25 09:45 /home/stajyer/.bash_history 文件夹和一个src文件夹(在项目设置中正确标记为这个)。

我的src文件如下所示:

test

应用程序已经给出了用于测试的以下结构:

path: src/Project/Module/Business/Customer/Model.php
namespace: Project\Module\Business\Customer

如您所见,不幸的是,命名空间不是以相同的名称空间结构进行测试,而是以“ ProjectTest”开头。

问题:每当我想自动从源类中创建测试时,它都会使用错误的路径,如下所示:

path: tests/ProjectTest/Module/Business/Customer/ModelTest.php
namespace: ProjectTest\Module\Business\Customer

,我必须手动更正。这种额外的工作使“自动创建测试文件”对我来说毫无用处。

是否可以说IntelliJ / PhpStorm应该使用“ ProjectTest”而不是“ Project”进行测试?

如何解决这个问题?

我找到了这篇文章https://blog.jetbrains.com/phpstorm/2014/04/psr-0-psr-4-and-sourcetest-root-support-in-phpstorm-8-eap/,但是我不知道这篇文章是否适用于我的用例。我没有成功,但是也许有人可以给我提示。

2 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的(至少对于PHPUnit和PHPSpec):

观看这些票(星号/投票/评论)以获取有关任何进度的通知:

还要检查相关的票证。

答案 1 :(得分:0)

如何解决?首先,但这可能是主观的,您可以使用相同的名称空间。以我的理解,测试属于其中,但我也知道其他人的测试方式有所不同。我不这么认为,因为这可能会解决您的问题,但是通过设计-测试是项目的一部分。

无论如何为测试命名空间中的根名称命名,我都可以建议在composer.json的{​​{1}}文件中支持该命名空间。

Phpstorm具有作曲家支持,可以读出名称空间根目录,并将其映射到否则无法实现的具体目录。我不能告诉您这是否真的解决了您的问题,但是在您的项目 Composer 文件中定义它并检查IDE的PSR根路径以设置名称空间映射到目录并没有错。正确起来。