Android Espresso如何测试来自不同路径的特定活动的流量

时间:2015-10-26 10:41:38

标签: android android-espresso

我正在使用espresso来测试活动中的文本视图内容。 可以通过A或B来达到此活动,每个活动都会产生不同的文本视图值。

默认情况下,Espresso始终运行测试A-> C,而不是B-> C. 我如何测试这两个流程,因为Espresso只允许我指定包含文本视图的活动的名称,而不是指向那里的路径。

我正在使用它在我的测试中指定C类:

 @Rule
        public ActivityTestRule<C> mActivityRule = new ActivityTestRule<>(
                C.class);

如何测试上述两种流程?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以为ActivityRule提供不同的意图来模拟来自B。

@Rule
public ActivityTestRule<C> activityRule = new ActivityTestRule<>(
    C.class,
    true,    // initialTouchMode
    false);  // launchActivity: false to set intent

在测试中,以特定意图启动您的活动:

@Test
public void fromB() {
  Intent intent = new Intent();
  intent.putExtra("your_key", "your_value");  // Whatever B uses to launch C

  activityRule.launchActivity(intent);

  // Verify the text view.
}

更多信息:http://blog.sqisland.com/2015/04/espresso-21-activitytestrule.html