package cucumber;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
format={"pretty"},
features= "src/features/"
)
public class cucumberRunner {
}
使用:
-
cucumber-core-1.2.4
-
cucumber-java-1.2.4
-
cucumber-junit-1.2.4
-
junit-4.12
-
Eclipse Mars.1
-
java 8
错误跟踪:
java.lang.NoClassDefFoundError:org / dom4j / java上的java.lang.Class.privateGetDeclaredMethods(未知来源)中的java.lang.Class.getDeclaredMethods0(Native Method)中的元素java.lang.Class.privateGetPublicMethods(未知来源)来自cucumber.runtime.Runtime.Runtime的cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:86)的cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:40)中的.lang.Class.getMethods(未知来源) . (运行时.java:91)在cucumber.runtime.Runtime . (Runtime.java:69)在cucumber.runtime.Runtime . (Runtime.java:65)在cucumber.api.junit.Cucumber.createRuntime(Cucumber.java) :78)在gree.api.junit.Cucumber . (Cucumber.java:58)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl . org.junit.internal.builders.AnnotatedBuilder.buildRunner上的java.lang.reflect.Constructor.newInstance(未知来源)中的newInstance(未知来源) (AnnotatedBuilder.java:104)位于org.junit的org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)的org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) . org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:)中的org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)中的internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 33)atg.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)at org位于org.eclipse.jdt的org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)的.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43) .internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)org.eclipse.jdt.internal.junit.runne r.RemoteTestRunner.run(RemoteTestRunner.java:382)at or.e.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)引起:java.lang.ClassNotFoundException:org.dom4j.Element at java.lang.ClassLoader.findClass(未知来源),位于java.lang.ClassLoader.loadClass(未知来源),位于java.lang.ClassLoader.loadClass(未知来源)的sun.misc.Launcher $ AppClassLoader.loadClass(未知来源) . ..还有28个
可能是什么问题呢?
1 回答
问题是你的 class 位于'黄瓜'包中 . 重命名包或将步骤定义和其他胶水代码移动到像'cucumber.steps'这样的子包中,并限制胶水代码查找到此包: