PhpStorm 2016.3.3 找不到 PHPUnit 6.0 的测试类。*

Posted

技术标签:

【中文标题】PhpStorm 2016.3.3 找不到 PHPUnit 6.0 的测试类。*【英文标题】:PhpStorm 2016.3.3 does not find test class with PHPUnit 6.0.* 【发布时间】:2017-08-14 18:18:49 【问题描述】:

我想在 phpStorm 中运行 PHPUnit 6.0.* 测试。但是当我想执行单个类的测试时,它会显示以下错误:“测试类未指定或无效”。

我用 Composer 加载了 PHPUnit。这里是composer.json的内容:


  "require": 
    "phpunit/phpunit": "6.0.0"
  

在命令行中运行测试是有效的。输出:

/usr/bin/php7.1 /path/to/project/vendor/phpunit/phpunit/phpunit --no-configuration MyTestTest /path/to/project/Tests/MyTestTest.php
PHPUnit 6.0.0 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 29 ms, Memory: 2.00MB

OK (1 test, 1 assertion)

一些附加信息:

PhpStorm 设置: PHP 语言级别:7.1 CLI 解释器:7.1 PHPUnit 使用 Composer 自动加载器(链接到 autoload.php) PhpStorm 版本:2016.3.3

使用 6.0.0 和 6.0.10 对其进行了测试。假设所有 6.0.* 版本都受到影响。

如果我将版本切换到 5.7.17(6.0.0 之前的最后一个版本),它就可以工作。 正如我所提到的,当我选择一个目录中的所有测试时它会起作用,而不是当我想测试一个类或方法时(错误是一样的)。

我的配置有误吗?还是 PhpStorm 的 bug?

我附上了一个用于 PhpStorm 的最小工作示例项目。 Minimal working example PhpStorm project

如果有人能用它重现这个问题会很有趣。

【问题讨论】:

请尝试即将推出的 2017.1 版本以获得更好的 PHPUnit v6 支持 -- blog.jetbrains.com/phpstorm/2017/03/… ;关于 RC blog.jetbrains.com/phpstorm/2017/03/… BTW 的帖子 -- 2017.1 final 应该在本周或下周发布(甚至可能是明天) 【参考方案1】:

PhpStorm 2017.1 将支持 PhpUnit 6。您可以获得它的候选版本。 https://www.jetbrains.com/phpstorm/nextversion/index.html

【讨论】:

试用了 RC,它可以完美地工作。谢谢你和@LazyOne 的回答。

以上是关于PhpStorm 2016.3.3 找不到 PHPUnit 6.0 的测试类。*的主要内容,如果未能解决你的问题,请参考以下文章

找不到 PhpStorm CodeIgniter 类

PHP 致命错误:在中找不到类“RemoteWebElement”

PhpStorm Laravel 4.2 致命错误:找不到类“TestCase”

phpstorm是怎么修改项目名和项目路径的?

jetbrains phpstorm插件开发环境搭建

php表单提交时获取不到post数据的解决方法