运行黄瓜功能文件时发生异常

时间:2020-03-24 12:03:16

标签: cucumber

运行功能文件时出现以下异常

线程“ main”中的异常cuming.runtime.CucumberException:java.lang.IllegalArgumentException:常量池索引处的类型错误 在Cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:164) 在cucumber.api.java8.En.Given(En.java:190) 在stepdefinitions.steps。(steps.java:16) 在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)处 在sun.reflect.NativeConstructorAccessorImpl.newInstance(未知来源) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知来源) 在java.lang.reflect.Constructor.newInstance(未知来源) 在org.picocontainer.injectors.AbstractInjector.newInstance(AbstractInjector.java:145) 在org.picocontainer.injectors.ConstructorInjector $ 1.run(ConstructorInjector.java:342) 在org.picocontainer.injectors.AbstractInjector $ ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) 在org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) 在org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) 在org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) 在org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699) 在org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647) 在org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678) 在黄瓜。运行时.java.picocontainer.PicoFactory.getInstance(PicoFactory.java:37) 在Cucumber.runtime.java.JavaBackend.buildWorld(JavaBackend.java:131) 在Cucumber.runtime.Runtime.buildBackendWorlds(Runtime.java:140) 在cumul.runtime.model.CucumberScenario.run(CucumberScenario.java:38) 在cumul.runtime.model.CucumberFeature.run(CucumberFeature.java:165) 在Cucumber.runtime.Runtime.run(Runtime.java:121) 在cumul.api.cli.Main.run(Main.java:36) 在Cucumber.api.cli.Main.main(Main.java:18) 原因:java.lang.IllegalArgumentException:常量池索引处的类型错误 在sun.reflect.ConstantPool.getMemberRefInfoAt0(本机方法) 在sun.reflect.ConstantPool.getMemberRefInfoAt(未知来源) 在黄瓜。运行时.java8.ConstantPoolTypeIntrospector.getTypeString(ConstantPoolTypeIntrospector.java:37) 在黄瓜。运行时.java8.ConstantPoolTypeIntrospector.getGenericTypes(ConstantPoolTypeIntrospector.java:27) 在cumul.runtime.java.Java8StepDefinition。(Java8StepDefinition.java:45) 在Cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:162) ...还有23

1 个答案:

答案 0 :(得分:1)

您正在使用cucumber-java8和JVM的不兼容版本。为此,cucumber-java8取决于JVM的一些实现细节(常量池布局)。升级您的黄瓜或降级您的JDK。或者,考虑使用cucumber-java提供的基于注释的步骤定义。

相关问题