Espresso中的内置ViewActions.click()
在引擎盖下使用GeneralClickAction来模拟click事件,它执行许多逻辑,例如计算坐标。
我的问题是,它与以下实现有何不同?
public class MyClickViewAction {
public static ViewAction click() {
return new ViewAction() {
@Override
public void perform(UiController uiController, View v) {
v.performClick();
uiController.loopMainThreadUntilIdle();
}
};
}
}
答案 0 :(得分:0)
您的v.performClick();
将触发代码流,您的点击监听器将被调用。
但是ViewActions.click()
就像用户按下您的视图一样。视图将接收onTouch事件,然后接收其视图作业,以将那些触摸事件转换为点击事件并将其传播到您的clickListener。
如果您的视图具有针对用户触摸的自定义反馈机制,或者它可以在用户触摸时缩放,而在触摸时缩放,则可以使用Espresso进行测试。