Я очень разочаровываюсь с ошибкой, когда пытаюсь запустить свои модульные тесты с помощью Cucumber.Не удается запустить тест Junit с огурцом из-за странной ошибки
Я получаю эту ошибку:
java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.getConstructor(Class.java:1825)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: javax.enterprise.context.spi.Contextual
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 17 more
я уже пытался добавить LIB к моему пути к классам, но эта ошибка все еще бросить с другой пропавшей Lib, а другой и т.д ...
Я вы делали поиск, и ничего из этого libs не требуется Cucumber. Это мой тестовый класс.
@RunWith(Runner.class)
@CucumberOptions(monochrome = true, features = { "src/test-integration/resources/scenarii" }, glue = {
"info.scandi.fusion.cucumber" }, plugin = { "pretty" })
public class AllTests {
}
Пути кажутся правильными. И, как вы можете видеть, мои определения шагов определены в банке, которую я импортировал в свой проект.
Моя ошибка, кажется, связана с этим stackoverflow question. Но я не использую пакет корневых корней.
Любая помощь была бы действительно оценена.
Thx для вашего ответа. Класс runner - это специальный класс, который расширяет огурец и добавляет некоторые функции. Я использую его в других проектах, и он работает отлично, но, похоже, он не работает. Я абсолютно уверен, что это не мой бегун, который зависит от этого класса. Ссылка, которую я предоставляю, показывает, что огурец выбрасывает такую ошибку, если путь объекта - это просто «огурец». Это не мое дело. Но если я добавлю недостающую зависимость в свой путь к классам. Я попадаю в ту же самую недостающую библиотеку, что и в ссылке, которую я предоставляю. Я постараюсь расследовать мой бегун – Scandinave