如何在 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();
}
希望这对有需要的人有所帮助。
我是 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();
}
希望这对有需要的人有所帮助。