如何使用Robolectric在另一个应用程序中测试活动开始

时间:2013-07-25 16:55:12

标签: android automated-tests robolectric android-testing

我有一个测试场景:

  1. 在我的应用中,点击一个按钮 - 例如btn1
  2. btn1点击使用意图action=VIEWuri=http://www.m10v.comcategory=DEFAULT启动其他活动。此活动属于另一个包(例如:browser
  3. 我如何:
    • 确保安装了具有此意图过滤器活动的应用程序?
    • 如何测试活动实际开始?

1 个答案:

答案 0 :(得分:2)

Robolectric应该用于对代码进行单元测试。它会截断android运行时,允许快速测试/重构循环。测试在JVM上运行,而不是在仿真器或设备上运行。因此,您无法使用它与系统中的其他组件进行交互。

对于您的方案,有两种选择:

编写单元测试并仅验证交互,即检查Intent属性。你可以使用Robolectric或ActivityUnitTestCase。

使用UiAutomator Framework(Api 16)编写功能性Ui测试,或使用Api 18引入的新UIAutomation Apis。