スレッド "メイン" 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) キュウリ.api.cli.Main.run(Main.java:35) at cucumber.api.cli.Main.main(Main.java:18) 原因: java.lang.AbstractMethodError: cucumber.runtime.java.picocontainer.PicoFactory .addClass(Ljava/言語/クラス;)V at cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:149) ... 8 もっと見る
1 に答える
問題は、キュウリがグルー ライブラリを見つけられないことです。コマンドライン ランナーは、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"
キーワードの前の二重ダッシュ文字に注意してください。また、2 つのグルー パスがあるため、2 つの --glue 句があることにも注意してください。また、2 つの -glue パスのパッケージ名のみが指定されていることにも注意してください。
さらに、 --plugin pretty:STDOUT で STDOUT を指定する必要があることに注意してください。
最後に、features キーワードが完全に削除されたことに注意してください。最後に (キーワードなしで) 指定されたパスは、フィーチャー ファイルの場所を cucumber-jvm に伝えます。
これを間違えた場合、cucumber-jvm は、直接知っている不可解なエラー メッセージを表示することに注意してください。使い方はこちらで解説しています。
ところで、クラスパス: この場合、機能の Maven デフォルト クラスパスを参照します。
src/test/resources/
今後助けが必要な場合は、問題を再現するために必要な最小限のコードを投稿してください。あなたの脳はネットワークに接続されたデバイスではないことを忘れないでください。:-)