консоль запуска junit 5 выдает ошибку «Причина: java .lang.ClassNotFoundException» - PullRequest
0 голосов
/ 12 марта 2020

Я использую библиотеку jar проекта java и пытаюсь запустить тест junit 5 через консоль запуска. Тот же тест работает, когда я щелкаю правой кнопкой мыши и запускаю как тест junit, но через консоль запуска он выдает следующую ошибку.

Это то, что я использую для компиляции программы, и она соответствует без ошибок

javac -encoding UTF8 -cp /abc/Junit/lib/*:/var/Unit/lib/* /abc/Unit/ /Junit/test/BuildTest.java

и вот как я запускаю тесты

 java -jar /abc/Junit/lib/junit-platform-console-standalone-1.6.0.jar --classpath /abc/Junit/lib/*:/abc/Unit/lib/*:/abc/Junit/test --include-classname ".*" --scan-classpath

Это ошибка, которую я получаю

Thanks for using JUnit! Support its development at https://junit.org/sponsoring

.
+-- JUnit Jupiter [OK]
|     '-- buildTests [X] com.build.Info
'-- JUnit Vintage [OK]

Failures (1):
JUnit Jupiter:buildTests
ClassSource [className = 'com.buildTests', filePosition = null]
=> java.lang.NoClassDefFoundError: com.build.VersionInfo
   java.lang.Class.getDeclaredFields(Class.java:868)
   org.junit.platform.commons.util.ReflectionUtils.getDeclaredFields(ReflectionUtils.java:1334)
   org.junit.platform.commons.util.ReflectionUtils.findAllFieldsInHierarchy(ReflectionUtils.java:1092)
   org.junit.platform.commons.util.ReflectionUtils.findFields(ReflectionUtils.java:1080)
   org.junit.platform.commons.util.AnnotationUtils.findAnnotatedFields(AnnotationUtils.java:371)
   [...]
 Caused by: java.lang.ClassNotFoundException: com.build.VersionInfo
   java.net.URLClassLoader.findClass(URLClassLoader.java:610)
   java.lang.ClassLoader.loadClassHelper(ClassLoader.java:935)
   java.lang.ClassLoader.loadClass(ClassLoader.java:880)
   java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:1225)
   java.lang.ClassLoader.loadClass(ClassLoader.java:863)
   [...]

  Test run finished after 73 ms
  [         3 containers found      ]
  [         0 containers skipped    ]
  [         3 containers started    ]
  [         0 containers aborted    ]
  [         2 containers successful ]
  [         1 containers failed     ]
  [         1 tests found           ]
  [         0 tests skipped         ]
  [         0 tests started         ]
  [         0 tests aborted         ]
  [         0 tests successful      ]
  [         0 tests failed          ]

1 Ответ

0 голосов
/ 12 марта 2020

Наконец-то удалось выяснить, почему выдается ошибка. Проблема не заключалась в том, чтобы указывать фактическую флягу и использовать подстановочный знак при выполнении теста. Это должен быть бла / lib / core.jar, а не бла / lib / *. Надеюсь, это поможет кому-то в будущем.

...