在Eclipse中运行PHPUnit测试会生成java.util.ConcurrentModificationException
当我在EclipsePDT中运行PHPUnit测试时,右键单击测试文件夹并选择RunAs>phpunittestm 生成此错误: 我导航到Eclipse日志文件并找到以下文本: eclipse.buildId=4.8.0.I20180611-0500 java.version=10.0.2 java.vendor=Oracle公司引导加载程序 常量:OS=win32,ARCH=x86_64,WS=win32,NL=en_US Framework 参数:-product org.eclipse.epp.package.php.product命令行 参数:-os win32-ws win32-arch x86_64-product org.eclipse.epp.package.php.product 这是日志文件[模糊]创建时间的延续:[模糊] org.eclipse.core.jobs错误发生内部错误 在“启动phpunit测试”期间 位于的java.util.ConcurrentModificationException java.base/java.util.HashMap.computeIfAbsent(未知源代码)位于 org.eclipse.php.phpunit.ui.launch.phpunitLanchConfigurationDelegate.setEnvironmentVariables(phpunitLanchConfigurationDelegate.java:341) 在 org.eclipse.php.phpunit.ui.launch.phpunitLanchConfigurationDelegate.launch(phpunitLanchConfigurationDelegate.java:110) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:859) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:717) 在 org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039) 在 org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256) 位于org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) 我在网上找到的很多信息似乎都过时了 以下是有关我的环境的一些信息: PHP版本:7.2.9在Eclipse中运行PHPUnit测试会生成java.util.ConcurrentModificationException,java,php,eclipse,phpunit,eclipse-pdt,Java,Php,Eclipse,Phpunit,Eclipse Pdt,当我在EclipsePDT中运行PHPUnit测试时,右键单击测试文件夹并选择RunAs>phpunittestm 生成此错误: 我导航到Eclipse日志文件并找到以下文本: eclipse.buildId=4.8.0.I20180611-0500 java.version=10.0.2 java.vendor=Oracle公司引导加载程序 常量:OS=win32,ARCH=x86_64,WS=win32,NL=en_US Framework 参数:-product org.eclipse.
PHPUnit版本:7.3.2
平台:适用于我的Windows 10 Pro从Java 10降级到Java 8在添加
PHPUNIT\u端口后,我让它工作了
我在OpenJDK 11.0.3、Eclipse+PHP2019-06(4.1.12)中看到了同样的问题,在Ubuntu 18.04.2 LTS(在VirtualBox中)上使用PHP7.2
我将项目的composer.json所需的phpunit与同一父目录中的本地composer.phar一起使用
我不仅要在运行/调试配置asytaka中为port设置环境变量,还要显式地设置工作区中的Composer.phar,以便最终使其工作。它仍然有点古怪,因为右键单击一个不同的测试文件会自动为该文件创建一个伪造的(损坏的)调试/运行配置,所以我只是将配置设置为运行测试目录中的所有测试
有效的步骤:
右键单击项目->运行方式->运行配置
删除所有不工作的配置
右键单击PHPUnit并选择新建配置
在PHPUnit选项卡下,选择“使用项目的PHPUnit(编写器)”
单击“单击此处更改默认phar”的链接
对于PHPUnit-Phar:确保在出现的屏幕中选择了项目的Composer.Phar(浏览…但我选择了它)
同时确认通信端口:设置为7478
回到配置中,在Environment选项卡上,还将PHPUNIT_PORT变量设置为yutaka发布的7478
我还将我的测试文件夹放在PHPUnit选项卡中的“在选定项目、源文件夹或文件中运行所有测试”下,并将配置添加到常用选项卡中的收藏夹中,以便运行和调试
它仍然不完美,但至少现在它正在IDE中运行/调试我的测试