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

标签 php phpunit phpstorm

PhpStorm 有一些奇怪的行为让我抓狂。我的项目设置有一个 source 和一个 test 目录。 source 目录应该用于生产代码,而 test 目录应该包含所有的 phpunit 测试。

在这些目录中,文件夹结构是镜像的——如果我有一个类 \foo\Bar, 然后有 src/foo/Bar.phptest/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 中的类似例程)。

很少有关于将此类行为更改为您描述/期望的行为的票..但到目前为止,它看起来并不在他们的优先列表中......

订阅这些票(星标/投票/评论)以获得进度通知。

关于php - 如何在 PhpStorm 的测试/目录中生成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31783737/

相关文章:

phpstorm - 我如何告诉 PHPStorm 重构命名空间和类名?

php - Magento:创建发票时出现 500 内部服务器错误

php - 它没有处理 php 代码,而是将其显示为注释

php - 从 Redis 哈希中获取随机/任意值

php - 如何生成时事通讯的退订链接?

ftp - PhpStorm 与多个服务器一起工作

yii - 在 Yii 应用程序中运行单元测试的 fatal error

selenium - 如何访问 PHPUnit_Extensions_SeleniumTestCase 中的存储值

php - 单元测试 Doctrine : can't mock repository method

php-cgi 的 phpStorm 问题