如何在Android中测试MVP + Dagger 2中的View

时间:2017-03-25 12:10:24

标签: android-espresso android-testing dagger-2 android-mvp

我开发了一个liitle应用程序(示例),我也想训练编写测试。那一刻我有MyActivity类,实现了View接口,我也有Presenter接口。我在MyActivity中定义了所有必要的方法,但我仍然没有实现我的Presenter接口。 下面是代码示例:

public interface View {
   void showLocationInfo(String locationInfo);
}

public interface Presenter {
   void onButtonPressed();
}

public class MyActivity implement View {

    Button button;

    @Inject
    Presenter presenter;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initDependencies();
        button = (Button) findViewById(R.id.button)
        button.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                    presenter.onButtonPressed();
               }
        });

    public void showLocationInfo(String locationInfo) {
       Log.d("MyLog", locationInfo);
    }

    private void initDependencies() {
       ... //init dependencies there by using Dagger 2  
    }
}

问题:如何在这个开发阶段测试MyActivity? 我有一个变体来创建附加模块和组件,特别是用于测试View和创建Presenter的实现(模拟),特别是用于测试。但是我应该在哪里初始化这个匕首组件?在我的Espresso测试课程中?

0 个答案:

没有答案