在我的應用程序正在使用FactoryModuleBuilder自動創建某些類的實例:讓Guice的FactoryModuleBuilder創建一個返回模擬的工廠?
new AbstractModule() {
@Override
protected void configure() {
install(new FactoryModuleBuilder().implement(A.class,B.class).build(A.AFactory.class));
}
});
在我的測試我真的不希望使用的實現(B類),所以我想配置模塊因此工廠將返回一個模擬的Mockito這樣的:
new AbstractModule() {
@Override
protected void configure() {
install(new FactoryModuleBuilder().implement(A.class,myMockInstance).build(A.AFactory.class));
}
});
顯然上面沒有任何意義,因爲實行()告訴它的實現是應該用於接口A,但我希望它得到跨我的觀點我想創建的工廠使用我的模擬對象。然後,我可以用我的模擬像往常一樣:
Mockito.when(myMockInstance.doStuff()).thenReturn(result);
這是可能的,或者我需要手動創建一個C類實現,這將作爲一個模擬的?
是啊,我就是這麼想的,但缺少Guice的技巧,謝謝:-) –