Cucumber Serenity NoSuchMethodException Cucumber.runtime.SerenityBackend(ResourceLoader,TypeRegistry)

Cucumber Serenity NoSuchMethodException Cucumber.runtime.SerenityBackend(ResourceLoader,TypeRegistry),cucumber,serenity-bdd,cucumber-serenity,Cucumber,Serenity Bdd,Cucumber Serenity,我正在尝试运行一个样本黄瓜测试与宁静,这是完美的作品时,黄瓜运行。 然而,尽管我确保所有依赖项都添加到maven pom文件中,但还是出现了以下错误 下面是宁静和黄瓜的版本。 宁静:2.0.40 宁静黄瓜:1.9.31 黄瓜:4.2.5 以下是异常跟踪: 非常感谢您的帮助 谢谢。如果您想使用Cucumber 4,您需要使用serenity-cucumber4库-请参阅。因为serenity Cucumber正在使用Cucumber jvm的内部API。您应该使用serenity cucumber

我正在尝试运行一个样本黄瓜测试与宁静,这是完美的作品时,黄瓜运行。 然而,尽管我确保所有依赖项都添加到maven pom文件中,但还是出现了以下错误

下面是宁静和黄瓜的版本。 宁静:2.0.40 宁静黄瓜:1.9.31 黄瓜:4.2.5

以下是异常跟踪:

非常感谢您的帮助


谢谢。

如果您想使用Cucumber 4,您需要使用serenity-cucumber4库-请参阅。

因为serenity Cucumber正在使用Cucumber jvm的内部API。您应该使用serenity cucumber定义的版本,而不是添加您自己对cucumber的依赖。未正确实现后端接口。它在v4.2.5中进行了更改。我认为这是一个内部API,它不在API包中。见:
cucumber.runtime.CucumberException: java.lang.NoSuchMethodException: cucumber.runtime.SerenityBackend.<init>(cucumber.runtime.io.ResourceLoader, io.cucumber.stepexpression.TypeRegistry)
    at cucumber.runtime.Reflections.newInstance(Reflections.java:54)
    at cucumber.runtime.Reflections.instantiateSubclasses(Reflections.java:36)
    at cucumber.runtime.BackendModuleBackendSupplier.loadBackends(BackendModuleBackendSupplier.java:52)
    at cucumber.runtime.BackendModuleBackendSupplier.get(BackendModuleBackendSupplier.java:39)
    ... 27 more
Caused by: java.lang.NoSuchMethodException: cucumber.runtime.SerenityBackend.<init>(cucumber.runtime.io.ResourceLoader, io.cucumber.stepexpression.TypeRegistry)
    at java.lang.Class.getConstructor0(Class.java:3082)
    at java.lang.Class.getConstructor(Class.java:1825)
    at cucumber.runtime.Reflections.newInstance(Reflections.java:46)
    ... 29 more