【发布时间】:2011-11-03 12:37:53
【问题描述】:
我正在尝试最终将 UI 测试添加到我的 Android 应用程序中,以增加覆盖率(我的所有其他层都经过了正确测试,因此我所有的错误现在都来自 UI...)
我开始使用ActivityInstrumentationTestCase2 作为我的模拟器单元测试的基类,简单的事情很容易检查并且工作得很好。
但现在,我正在尝试检查对话框是否按预期显示,但我不知道该怎么做。
我的测试:
public void testOpensAboutDialogWhenAboutButtonClicked() {
final MyActivity activity = getActivity();
final Instrumentation instrumentation = getInstrumentation();
final Button aboutButton = (Button) activity.findViewById(R.id.about);
TouchUtils.clickView(this, aboutButton);
// how to test for the AboutDialog?
}
现在我的对话框没有 id,所以我无法使用 findViewById 获得指向它的指针。 它是使用可用的构建器类创建的:
final AlertDialog about = new AlertDialog.Builder(parent)
.setTitle(parent.getString(R.string.about_title))
.setCancelable(true)
.setIcon(R.drawable.skull)
....
有什么想法或教程的指针吗?
编辑:为了回答 Jens 的评论,我不使用托管对话框,只是创建 AlertDialog 并使用 .show() 显示它
【问题讨论】:
-
您是否使用托管对话框?
-
@Jens,其实我不是,我什至不知道他们......我只是读到他们,这可能确实有助于解决我的问题......(这会教我跳过教程...)今晚会尝试。如果是这样,请写一个答案,以便我可以给你赏金;)
-
顺便说一句,我可以给你一个正确的答案。
标签: android unit-testing