web-dev-qa-db-ja.com

Eclipse 2018.09でデフォルトでJUnit 4テストランナーを使用するにはどうすればよいですか?

私はEclipse 2018.09にアップグレードしました(問題はEclipse Photonでも発生します)が、JUnit 4を使用するプロジェクトではうまく機能しません。新しいバージョンは、JUnitを使用してすべてのテストを実行しているようです5ランナーはデフォルトで次のエラーで失敗します。JUnit5ではなく、プロジェクトのクラスパスにJUnit 4しかないためです。

Could not run test. No tests found with test runner '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の新しいメジャーバージョンにアップグレードせずに回避策I常に繰り返す必要はありません。これは、どういうわけかデフォルトのテストランナーを変更する必要があると考えています。


私が発見した回避策、およびなぜそれらに満足できないのか:

  1. JUnit 4ランナーを使用するためにeveryテストのevery実行構成を手動で更新します。煩わしくて大変な作業なので、これには満足していません。常にJUnit 4ランナーを使用するようにJUnit実行構成のデフォルトを変更する方法が見つかりません。 「プロトタイプ」の実行構成に関していくつかの有望な見た目がありますが、JUnit構成ではすべてのオプションがグレー表示され、機能しません。
  2. 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
15
Kaypro II

私は今同じ問題に直面し、POMにVintage Engine依存関係を追加した後に修正されました.xmlファイル。やってみて。

MVNリポジトリ: https://mvnrepository.com/artifact/org.junit.vintage/junit-vintage-engine

0
Suneel Yadav