我正在尝试使用Android Espresso进行自动化单元测试。
我有一个对话框,该对话框是由推送通知事件触发的,该通知事件可能会在测试运行时的任何时间出现。我希望单位测试能够在不破坏单元测试的情况下删除对话框,这是可能的吗?
我的代码在启动对话框后进行检查一次,如果存在,则将其删除,或者在不存在的情况下继续进行单位测试。我希望能够随时显示对话框的任何时间进行检查,这可能是任何时候,而不是在启动后仅一次。
我正在尝试找到一种方法,而无需在单元测试中的每行代码之后添加检查。
我尝试使用 handler.postDelayed
只是经常检查,但似乎没有像我从单元测试运行时所期望的那样工作。
如果您使用的是实现对话框的对话框,则在显示
我同意@commonsware的评论。但是,在您的情况下,您可能会考虑有一个标志,该标志说该应用程序是否处于测试模式。因此,您可能会考虑具有以下变量。
public static boolean TESTING = true;
创建生产构建时,只需将变量设置为false
即可关闭测试模式。
因此,在显示AlertDialog
之前,您可以考虑检查变量并决定是否弹出对话框。