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); } } 在我的测试中,我只想覆盖InterfaceC,同时保持InterfaceA和InterfaceB不变,所以我想要类似以下内容: 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