安卓测试 : asserting an activity transitioned to another

标签 android testing android-activity junit activity-lifecycle

我正在查看 tests on Android activities .我想测试 activity lifecycle特别是我的 Activity 结束以开始另一个 Activity (我正在测试第一个 Activity 的结束,而不是第二个 Activity 的开始)。我正在使用 ActivityInstrumentationTestCase2和带有 JUnit 4 测试的 Android Espresso。

我曾试图断言,一旦我触发了一个 Activity 的结束,通过按下屏幕上的一个按钮,该 Activity 就会暂停或不可见,但到目前为止我运气不好。测试 Activity 之间的转换有什么好的做法吗?

最佳答案

你应该看看https://developer.android.com/training/activity-testing/activity-functional-testing.html#activitymonitor .

基本上您需要添加并注册一个 ActivityMonitor在您的仪器功能测试中,它将被设置为监听您的第二个 Activity。一旦触发发生(即在您的测试用例中单击按钮),您将只使用 waitForActivityWithTimeout(int)获取第二个 Activity 的实例。

如果调用超时,或者结果为空,则您知道您的第二个 Activity 尚未启动。您还可以在 Activity 实例上断言它们是否正在完成/销毁/等等,具体取决于您期望它们发生什么。

关于安卓测试 : asserting an activity transitioned to another,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31459201/

相关文章:

asp.net - Nunit 和 Web 应用程序

java - 在 android studio 中单击操作栏菜单中的项目时跳转到另一个 Activity

Android WebView 未加载 JavaScript 文件,但 Android 浏览器加载正常

testing - "history"和 "retries"在 Allure 中到底意味着什么?

javascript - 在 Jasmine 1.3 中添加自定义匹配器 - 显示未定义

android - 使用底部导航切换 Activity/fragment

android - 通过静态方法访问 SharedPreferences

Android:为什么我在完全限定的类名和 "WARN/ActivityManager(52): Unable to start service Intent"中有一个斜杠

android - 循环播放的视频不会重复音频 FFMpeg

java - android xml解析中的hashmap