我已经将build.gradle升级到了最新版本,但现在我看到了这个错误-"guide.injector source"属性已被弃用。在粘合路径上添加一个实现"io.cuckle.guice.InpjectorSource"的类,而不是
我在cucumber.properties中提到了我的Injector文件路径,看起来新版本现在有不同的方法了吗?
正因为如此,它表明我的实现没有绑定。
"黄瓜指南",版本:"7.8.1"guide",版本:"4.1.0">
我一直在想办法把实现"io.cucmber.guice.InterSource"的类放到粘合路径上。尚未找到任何解决方案。
注意:我没有将guide升级到"5.1.0",因为我无法解决问题-找不到-guide-no_app.jar(稍后计划解决不同的问题(
粘贴路径是包含步骤定义、钩子和Cucumber所需的其他代码的包。如果在cucumber.properties
中进行配置,您应该会看到以下内容:
cucumber.glue=com.example.app
然后你可以把你的InjectorSource
实现放在src/test/java/com/example/app
中,并像这样实现:
package com.example.app
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
import io.cucumber.guice.CucumberModules;
import io.cucumber.guice.InjectorSource;
public class YourInjectorSource implements InjectorSource {
@Override
public Injector getInjector() {
return Guice.createInjector(Stage.PRODUCTION, CucumberModules.createScenarioModule(), new YourModule());
}
}
您可以在其文档中阅读更多关于该模块的信息:
https://github.com/cucumber/cucumber-jvm/tree/main/cucumber-guice