我正在使用espresso来测试活动中的文本视图内容。 可以通过A或B来达到此活动,每个活动都会产生不同的文本视图值。
默认情况下,Espresso始终运行测试A-> C,而不是B-> C. 我如何测试这两个流程,因为Espresso只允许我指定包含文本视图的活动的名称,而不是指向那里的路径。
我正在使用它在我的测试中指定C类:
@Rule
public ActivityTestRule<C> mActivityRule = new ActivityTestRule<>(
C.class);
如何测试上述两种流程?
谢谢!
答案 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