如何在 MVP 的仪器测试中测试第二个 activity 开始?

How to test second activity started in instrumentation test in MVP?

我是 android 的 MVP 新手。

我的问题与 android 中的 Instrumentation 测试有关。我正在使用意图在 main_activity() 中调用 second_activity()。那么如何在使用 espresso 的仪器测试中测试 second_activity 是否被调用。

我已经成功地使用 junit 和 mockito 在单元测试中进行了测试。

我解决了。让我解释一下我做了什么。

第一步:将您的意图放入 main activity

中的方法中
public void gotoSecond() {

            Intent intent = new Intent(context, SecondActivity.class);
            startActivity(intent);
}

然后将此代码放入 Instrumenation 测试 class 文件中。

private MainActivity mTestActivity;

@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(
        MainActivity.class);

public MainActivityTest() {
    super(MainActivity.class);
}

@Override
protected void setUp() throws Exception {
    super.setUp();
    mTestActivity = getActivity();
}

@Test
public void testSecond(){
   //calling activity method using getActivity()
    mTestActivity.gotoSecond();
}

希望这对有需要的人有所帮助。