PhpStorm有某种奇怪的行为让我发疯。我已将项目设置为source
和test
目录。 source
目录应该用于生产代码,而test
目录应该包含所有phpunit测试。
在这些目录中,文件夹结构是镜像的 - 如果我有一个类\foo\Bar
,
那就是
src/foo/Bar.php
和test/foo/BarTest.php
。
我已将src/
和test/
标记为PhpStorm中的源和测试目录,但是,每次我想为某个类创建新的测试套件时,PhpStorm默认会进行测试将class放入被测试类旁边的src/
目录中。
可以改变它,但是当test/
中的同一目录尚不存在时,它会变得更烦人。而不是创建它,PhpStorm将拒绝为我创建该测试套件。
也许我在PhpStorm中误解了测试管理背后的概念 - 因为它不能成为糟糕的用户体验。
我做错了什么,或者我可以配置哪些东西来减轻痛苦?
答案 0 :(得分:2)
你正在做没有错误。它只是不起作用 - 开发人员将其编码为现在的行为。
最初IDE使用PHPUnit生成测试类的能力(当时这种功能是实际PHPUnit的一部分)。然后PHPUnit创建者已将此功能移动到单独的包(phpunit-skelgen
)..并且您必须手动/单独安装它。然后开发人员决定drop phpunit-skelgen support completely并实现当前实现(这也更符合在这些IDE支持的IDEA平台/技术上构建的其他IDE中的类似例程)。
很少有关于将此类行为更改为您所描述/期望的相同的票证..但到目前为止它看起来并不像它们的优先级列表...
订阅这些门票(星级/投票/评论)以获得进展通知。
答案 1 :(得分:2)
自2016年发布以来,PHPStorm现在在指定的测试目录中进行测试,准确提供您在问题中要求的内容。