【发布时间】:2023-03-27 01:07:01
【问题描述】:
我尝试使用 PHPUnit v8。但是我没有成功使用 PhpStorm。当我在 PhpStorm 中运行简单测试(类方法)时,我收到以下消息:
PHP Fatal error: Uncaught PHPUnit\Runner\Exception: Class 'Mrself\\TreeType\\Tests\\Functional\\BuildingTest' could not be found in '/vagrant/symfony-tree-type/tests/Functional/BuildingTest.php'. in /vagrant/symfony-tree-type/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php:65
是的,我有那个课程,是的,我已经正确配置了 psr:
"autoload": {
"psr-4": {
"Mrself\\TreeType\\": "./src/"
}
},
"autoload-dev": {
"psr-4": {
"Mrself\\TreeType\\Tests\\": "./tests/"
}
}
我已正确设置一切的证据是,当我运行 vendor/bin/phpunit 时,它给了我正确的结果。
当我在 PhpStorm 中运行方法时,我收到了以下调用:
/usr/bin/php /vagrant/symfony-tree-type/vendor/phpunit/phpunit/phpunit --configuration /vagrant/symfony-tree-type/phpunit.xml --filter "/(::testFormCanBeBuild)( .*)?$/" Mrself\\TreeType\\Tests\\Functional\\BuildingTest /vagrant/symfony-tree-type/tests/Functional/BuildingTest.php --teamcity
但是,如果我在类命名空间前面加上 \\,一切都会正常工作。我不知道发生了什么。 PHPUnit 版本 7 也可以。
【问题讨论】:
-
我也看到了这个问题。无法运行单个类或单个方法,但测试整个目录仍在运行
-
我几个星期都遇到同样的问题。将 PHPUnit 降级到 8.3 时,它又可以正常工作了。在此报告:youtrack.jetbrains.com/issue/WI-49333