这是我的方法,它工作正常并显示对话框。
public void showDialog(){
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.mylayout);
dialog.show();
}
我有一个测试项目,我想测试Dialog是否正在显示。我想应用.isShowing()方法。像这样......
assertTrue(dialog.isShowing());
但我不知道如何在我的测试中找到对话框变量。
我没有使用Robotium(这不是我的选择)。 我目前正在使用ActivityUnitTestCase进行测试。如果需要更多信息,请不要犹豫。
修改
我试图通过公开对话来使用以下答案
public Dialog getDiag(){
return dialog;
}
使用这个答案:当我在测试中运行showDialog()时遇到一个新问题,它在命中时会中断:dialog.show();
android.view.WindowManager $ BadTokenException:*无法添加窗口 - 令牌null
答案 0 :(得分:5)
在showDialog函数外部声明Dialog,然后实现一个返回此Dialog实例的方法。
public Dialog getDiag(){
return dialog;
}
然后做这样的事情
assertTrue(new YourClassName().getDialog().isShowing());