ステップ定義でDIを使用しようとしています。私はモジュールを持っています、
public class MyModule extends AbstractModule
{
private final static MyInterface INSTANCE = new MyInterfaceImpl();
@Override
protected void configure()
{
bind(MyInterface.class).toInstance(INSTANCE);
}
}
このインスタンスをステップ定義のコンストラクターに挿入します。
public class MyStepDefs
{
private final MyInterface instance;
@Inject
public MyStepDefs(MyInterface instance)
{
this.instance = instance
}
}
cucumber-guice.propertiesファイルを使用してGuiceFactoryを構成する必要があると思いますが、これが何であるか本当にわかりませんか?現時点で私が得るエラーは、
java.lang.NoClassDefFoundError: javax/inject/Singleton
at cucumber.runtime.java.guice.GuiceFactory$CucumberModule.configure(GuiceFactory.java:86)
また、コンストラクターインジェクションにプロバイダーを使用する必要がありますか?