如何在PhpStorm的tests /目录中生成测试?

时间:2015-08-03 09:22:53

标签: php phpunit phpstorm

PhpStorm有某种奇怪的行为让我发疯。我已将项目设置为sourcetest目录。 source目录应该用于生产代码,而test目录应该包含所有phpunit测试。

在这些目录中,文件夹结构是镜像的 - 如果我有一个类\foo\Bar, 那就是 src/foo/Bar.phptest/foo/BarTest.php

我已将src/test/标记为PhpStorm中的源和测试目录,但是,每次我想为某个类创建新的测试套件时,PhpStorm默认会进行测试将class放入被测试类旁边的src/目录中。

可以改变它,但是当test/中的同一目录尚不存在时,它会变得更烦人。而不是创建它,PhpStorm将拒绝为我创建该测试套件。

也许我在PhpStorm中误解了测试管理背后的概念 - 因为它不能成为糟糕的用户体验。

我做错了什么,或者我可以配置哪些东西来减轻痛苦?

2 个答案:

答案 0 :(得分:2)

你正在做没有错误。它只是不起作用 - 开发人员将其编码为现在的行为。

最初IDE使用PHPUnit生成测试类的能力(当时这种功能是实际PHPUnit的一部分)。然后PHPUnit创建者已将此功能移动到单独的包(phpunit-skelgen)..并且您必须手动/单独安装它。然后开发人员决定drop phpunit-skelgen support completely并实现当前实现(这也更符合在这些IDE支持的IDEA平台/技术上构建的其他IDE中的类似例程)。

很少有关于将此类行为更改为您所描述/期望的相同的票证..但到目前为止它看起来并不像它们的优先级列表...

订阅这些门票(星级/投票/评论)以获得进展通知。

答案 1 :(得分:2)

自2016年发布以来,PHPStorm现在在指定的测试目录中进行测试,准确提供您在问题中要求的内容。