【发布时间】:2011-08-03 20:07:09
【问题描述】:
一个相当正常的场景:Android 应用程序有一个首选项活动,从 ListPreference 中选择一个选项会触发代码来更改该 ListPreference 的摘要文本。即:从颜色 ListPreference 中选择“Green”将通过 onPreferenceChange 回调将 ListPreference 的摘要文本更改为“Green”。
我希望能够使用 Android JUnit 测试来确认这些摘要更改都正确执行。但是,关于如何执行此操作的信息似乎很少。
我尝试了在 ListPreference 上使用 setValue() 的变体,无论是在测试线程中还是通过 runOnUiThread(),都没有成功 - 这不会触发对 onPreferenceChange() 的调用。在调用setValue() 之后,我也尝试过getInstrumentation().waitForIdleSync(),但这也没有成功。
所以,我的问题是:这是怎么做到的?
谢谢!
【问题讨论】:
标签: android unit-testing junit android-preferences