我在我的Android应用程序中使用Dagger2.基本上我注入了一个HttpClient(接口)MainActivity.
@Module
public class MainActivityModule{
@Provides public HttpClient providesHttpComponent(){
return new RealHttpClient();
}
}
@Component( modules = MainActivityModule.class )
public interface MainActivityComponent {
public MainActivity injectActivity(MainActivity);
}
public class MainActivity extends Activity {
public void onCreate(Bundle saved){
super.onCreate();
injectDependencies();
}
protected void injectDependencies(){
Dagger_MainActivityComponent
.builder()
.mainActivityComponent( new MainActivityModule())
.build()
.injectActivity(this);
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利,效果如预期.现在我想写一些单元测试(不是android仪器测试),而不是MainActivity我想要使用TestMainActivityModule的地方MainActivityModule.
@Module (overrides = true )
public class TestMainActivtiyModule extends MainActivityModule {
@Provides public HttpClient(){
return new MockHttpClient(); …Run Code Online (Sandbox Code Playgroud)