我必须缺少明显的东西在这里:涉及Android系统的仪器测试应用程式
我的设备上运行的仪器测试的情况下,也与Robotium的帮助。在某些时候,我的测试应用程序会导致默认的电子邮件撰写活动触发。
我想知道的是:如何关闭该活动以便再次显示我的应用活动?出于以下原因,至少需要:在当前测试用例完成后,电子邮件活动仍保留在前台,这样可以防止下一个测试用例正常运行。
我试图发送所需的后退键到电子邮件活动 - 与this.sendKeys(KeyEvent.KEYCODE_BACK)
或solo.goBack()
- 但没有运气。
如果我运行solo.getCurrentActivity()
或this.getActivity()
我得到一个参考我包内最上面活动,但没办法得到的实际前景活动的举行。另外,提到的sendKeys/goBack
直接去了我的活动,而不是电子邮件。
当我的应用程序启动Play商店主要活动时出现同样的问题。
我意识到电子邮件活动不是我测试的软件包的一部分,这可能是问题的一部分。
那么,有没有办法关闭电子邮件提示?
编辑
现在我坚持@Joe马林第一个建议:
在我的视图模型(或Controller),有private static boolean _productionMode = true;
,并且有一定的辅助方法(在某些内助更好,如果
public void dontLaunchExternalApps()
{
_productionMode = false;
}
然后,在一些视图模型常规方法:
if (_productionMode)
{
launchSomeExternalApp();
}
else
{
// Do Nothing Or Set Some Internal Flag
}
类)仅测试期间使用的
感谢你回答。我已经进行了单元测试组件,TDD-ing以及运行集成/功能测试。我所说的测试实际上是一项功能测试。 我知道你的第一个建议基本上是让活动检测到它在测试模式下运行,所以不要真正启动电子邮件编辑器,而是从外部做一些其他测试。这可能是一种方式... – superjos