安卓测试:对话.检查它是否显示()



这是我的方法,它工作正常并显示对话框。

public void showDialog(){
    final Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.mylayout);
    dialog.show();
}

我有一个测试项目,我想测试对话框是否显示。我想应用 .isShowing() 方法。像这样的东西...

assertTrue(dialog.isShowing());

但是我不知道如何在测试中访问对话框变量。

我没有使用Robotium(这对我来说不是一个选择)。我目前正在使用ActivityUnitTestCase进行测试。如果需要更多信息,请随时询问。

编辑

我试图通过公开对话框来使用以下答案

public Dialog getDiag(){
    return dialog;
}

使用此答案:当我在测试中运行 showDialog() 时我遇到了一个新问题,当它点击时它会中断:dialog.show();

android.view.WindowManager$BadTokenException: * 无法添加窗口 -- token null

在 showDialog 函数之外声明对话框,然后实现一个返回此 Dialog 实例的方法。

public Dialog getDiag(){
    return dialog;
}

然后做这样的事情

assertTrue(new YourClassName().getDialog().isShowing());

最新更新