PhpStorm 有一些奇怪的行为让我抓狂。我的项目设置有一个 source
和一个 test
目录。 source
目录应该用于生产代码,而 test
目录应该包含所有的 phpunit 测试。
在这些目录中,文件夹结构是镜像的——如果我有一个类 \foo\Bar
,
然后有
src/foo/Bar.php
和 test/foo/BarTest.php
。
我已经在 PhpStorm 中将 src/
和 test/
标记为源和测试目录,但是,每次我想为一个类创建一个新的测试套件时, PhpStorm 默认将测试类放在被测类旁边的 src/
目录中。
可以更改它,但是当 test/
中的相同目录尚不存在时,它会变得更烦人。 PhpStorm 不会创建它,而是会拒绝为我创建该测试套件。
也许我对 PhpStorm 中测试管理背后的概念有很多误解 - 因为它不可能是那么糟糕的用户体验。
我做错了什么,或者我可以配置什么来减轻这种情况的痛苦吗?
最佳答案
您没有做错。它只是不能以这种方式工作——开发人员将其编码为以现在的方式运行。
最初 IDE 使用 PHPUnit 生成测试类的能力(当时这种功能是实际 PHPUnit 的一部分)。然后 PHPUnit 创建者将此功能移动到单独的包 (phpunit-skelgen
) .. 并且您必须手动/单独安装它。然后开发人员决定 drop phpunit-skelgen support completely并实现了当前的实现(这也更符合在这些 IDE 支持的 IDEA 平台/技术上构建的其他 IDE 中的类似例程)。
很少有关于将此类行为更改为您描述/期望的行为的票..但到目前为止,它看起来并不在他们的优先列表中......
- https://youtrack.jetbrains.com/issue/WI-2850
- https://youtrack.jetbrains.com/issue/WI-24358
- https://youtrack.jetbrains.com/issue/WI-21890
订阅这些票(星标/投票/评论)以获得进度通知。
关于php - 如何在 PhpStorm 的测试/目录中生成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31783737/