如何让 Eclipse 2018.09 默认使用 JUnit 4 测试运行程序?
2022-09-01 09:06:25
我刚刚升级到Eclipse 2018.09(这个问题也发生在Eclipse Photon上),但它在使用JUnit 4的项目上不能很好地发挥作用。默认情况下,新版本似乎使用JUnit 5运行程序运行所有测试,该运行器失败并出现以下错误,因为我在项目的类路径上只有JUnit 4,而不是JUnit 5:
java.lang.NoClassDefFoundError: org/junit/platform/engine/EngineExecutionListener
at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:59)
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:370)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:365)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:309)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:224)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:208)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.engine.EngineExecutionListener
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 12 more
我希望能够在此项目中方便地运行我的测试,而无需升级到JUnit的新主要版本,并且使用我不必不断重复的解决方法。我认为这需要以某种方式更改默认测试运行程序。
我发现的解决方法,以及为什么我对它们不满意:
- 手动更新每个测试的每个运行配置以使用 JUnit 4 运行程序。我对此不满意,因为它很烦人,而且需要做很多工作。我找不到将 JUnit 运行配置默认值更改为始终使用 JUnit 4 运行器的方法。关于“原型”运行配置有一些看起来很有希望的东西,但是对于JUnit配置,所有选项都是灰色的,不起作用。
- 将 JUnit 5 添加到类路径。这允许JUnit 5运行器工作,但我对此并不满意,因为我不应该因为我的IDE而被迫升级。
Eclipse Photon 版本信息:
Eclipse Java EE IDE for Web Developers.
Version: Photon Release (4.8.0)
Build id: 20180619-1200
OS: Windows 7, v.6.1, x86_64 / win32
Java version: 1.8.0_171
“检查更新”显示没有要安装的相关程序包。
Eclipse 2018.09 版本信息:
Eclipse Java EE IDE for Web Developers.
Version: 2018-09 (4.9.0)
Build id: 20180917-1800
OS: Windows 7, v.6.1, x86_64 / win32
Java version: 1.8.0_171