相关疑难解决方法(0)

用dagger2注入测试模块

我在我的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)

junit android unit-testing dagger-2

5
推荐指数
1
解决办法
876
查看次数

标签 统计

android ×1

dagger-2 ×1

junit ×1

unit-testing ×1