gpt4 book ai didi

android - 仪表:控制生命周期

转载 作者:行者123 更新时间:2023-11-28 20:46:05 25 4
gpt4 key购买 nike

如何使用 Instrumentation 从 TestCase 中控制 Android Activity 的生命周期?

关于 official documentation ,声明为“生命周期控制:使用检测,您可以使用测试用例类提供的方法启动、暂停和销毁被测 Activity 。”。当然,使用这个测试用例,在调用 getActivity() 时会自动创建 Acitivity,并在每个测试用例之后停止。但是如何从外部控制生命周期以检查所有生命周期方法是否正确实现?

生命周期方法 onActivityXXX 只是帮助调用相应的方法,但不会导致 Activity 暂停或停止。谁能帮忙告诉我必须使用哪些方法?

是否有任何方法可以测试 Android 应用程序的生命周期实现?

最佳答案

这不会让您完全控制生命周期,但它是找到的示例 here :

// Start the main activity of the application under test
mActivity = getActivity();

// Get a handle to the Activity object's main UI widget, a Spinner
mSpinner = (Spinner)mActivity.findViewById(com.android.example.spinner.R.id.Spinner01);

// Set the Spinner to a known position
mActivity.setSpinnerPosition(TEST_STATE_DESTROY_POSITION);

// Stop the activity - The onDestroy() method should save the state of the Spinner
mActivity.finish();

// Re-start the Activity - the onResume() method should restore the state of the Spinner
mActivity = getActivity();

// Get the Spinner's current position
int currentPosition = mActivity.getSpinnerPosition();

// Assert that the current position is the same as the starting position
assertEquals(TEST_STATE_DESTROY_POSITION, currentPosition);

这使您可以对主要生命周期事件进行一些控制。我目前正在处理同样的问题,我正在研究应该有帮助的 robotium

关于android - 仪表:控制生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9606048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com