O problema
Sempre que executo o teste JUnit em meus projetos (usando JUnit 5 com Java 9 e Eclipse Oxygen 1.a), encontro o problema de que o eclipse não consegue encontrar nenhum teste.
A descrição
Na configuração de execução, o eclipse não consegue nem encontrar o método que está anotado com @Test, mas em vez disso só me mostra " (todos os métodos) ". Espero que a imagem a seguir dê uma ideia melhor da minha configuração:
Saída do console:
java.lang.NoClassDefFoundError: org/junit/platform/launcher/core/LauncherFactory
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:31)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.base/java.lang.Class.newInstance(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:368)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:363)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:307)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:222)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.launcher.core.LauncherFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 11 more
O que eu tentei até agora
Eu ja tentei
- para remover a pasta de teste do caminho de construção e adicioná-la novamente.
- para iniciar o teste passando o mouse sobre o método anotado com @Test e clique em "Executar como teste JUnit".
- remover JUnit do Buildpath e adicioná-lo novamente
- reinicie o eclipse
- Eu também movi todo o projeto de uma máquina para outra e tentei com a instalação do Eclipse fornecida lá
- para renomear o método de teste.
- redigitar a anotação @Test
Algumas dessas etapas podem ser encontradas aqui , mas no final o problema permaneceu.