我有一个参考活动和资源的类:
public class MainActivityController {
private MainActivity mainActivity;
private Resources resources;
MainActivityController(MainActivity mainActivity, Resources resources)
{
this.mainActivity = mainActivity;
this.resources = resources;
}
void onDestroy() {
mainActivity = null;
resources = null;
}
Object getMainActivity() {
return mainActivity;
}
Resources getResources() {
return resources;
}
public void onHelloButtonClicked() {
mainActivity.displayMessage(resources.getString(R.string.hello_message));
}
当活动破坏时,方法onDestroy
正在调用:
@Override
protected void onDestroy() {
super.onDestroy();
mainActivityController.onDestroy();
}
我想测试是否调用了MainActivityController的方法onDestroy
,并在活动破坏
@RunWith(AndroidJUnit4.class)
@LargeTest
public class MainActivityInstrumentalTest{
@Rule
public ActivityTestRule<MainActivity> mainActivityTestRule = new ActivityTestRule<MainActivity>(MainActivity.class);
@Test
public void shouldDestroyMainActivityControllerWhenActivityDestroyed()
{
//TODO: check if onDestroy was invoked when activity destroyed
}
}
我不是测试专家,但我认为测试Android Frameworks方法不是您的工作。让它给Google Ingeneers。活动生命周期方法是其中的一部分。认为它正在起作用。您最好专注于测试自己拥有的东西。像单位测试mainActivityController.onDestroy();