5
Guiceでのバインディングのオーバーライド
私はGuiceで遊んだところですが、考えられるユースケースは、テストで単一のバインディングをオーバーライドしたいというものです。すべてが正しく設定されていることを確認し、重複を避けるために、残りの本番レベルのバインディングを使用したいと思います。 次のモジュールがあると想像してください public class ProductionModule implements Module { public void configure(Binder binder) { binder.bind(InterfaceA.class).to(ConcreteA.class); binder.bind(InterfaceB.class).to(ConcreteB.class); binder.bind(InterfaceC.class).to(ConcreteC.class); } } そして、私のテストでは、InterfaceAとInterfaceBをそのままにして、InterfaceCをオーバーライドしたいだけなので、次のようにします。 Module testModule = new Module() { public void configure(Binder binder) { binder.bind(InterfaceC.class).to(MockC.class); } }; Guice.createInjector(new ProductionModule(), testModule); 私も次のことを試しましたが、うまくいきませんでした: Module testModule = new ProductionModule() { public void configure(Binder binder) { super.configure(binder); binder.bind(InterfaceC.class).to(MockC.class); …
138
java
unit-testing
guice