线程中的异常" main" cucumber.runtime.CucumberException:java.lang.AbstractMethodError:cucumber.runtime.java.picocontainer.PicoFactory.addClass(Ljava / lang / Class;)V 在cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:154) 在cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:68) 在cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:41) 在cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:86) 在cucumber.runtime.Runtime。(Runtime.java:91) 在cucumber.runtime.Runtime。(Runtime.java:69) 在cucumber.runtime.Runtime。(Runtime.java:65) 在cucumber.api.cli.Main.run(Main.java:35) 在cucumber.api.cli.Main.main(Main.java:18) 引起:java.lang.AbstractMethodError:cucumber.runtime.java.picocontainer.PicoFactory.addClass(Ljava / lang / Class;)V 在cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:149) ......还有8个
答案 0 :(得分:0)
问题是黄瓜找不到胶水库。命令行运行程序位于堆栈跟踪中,表明您没有遵循CLI的语法规则。这是一个例子:
mvn clean test -Dcucumber.options="--tags @search --monochrome --plugin pretty:STDOUT --plugin html:target/cucumber-html-report --plugin json:target/cucumber.json --glue steps --glue runsupport classpath:features"
请注意关键字前的双短划线字符。另请注意,由于有两个胶水路径,有两个 - 胶水条款。另请注意,仅指定了两个胶水路径的包名称。
进一步注意,需要在--plugin pretty:STDOUT。
上指定STDOUT最后请注意,要素关键字已完全删除。最后指定的路径(没有关键字)告诉cucumber-jvm在哪里找到特征文件。
请注意,如果您遇到任何此类错误,那么cucumber-jvm会为您提供神秘的错误消息,您可以通过该消息获得第一手资料。用法说明here。
BTW,claspath:在这种情况下,指的是Maven默认的类路径,其中的功能是
src/test/resources/
如果您希望将来发布帮助,请发布重现问题所需的最少代码。请记住,您的大脑不是网络连接设备。 : - )