我的项目中有一个文本字段,并且与setOnTouchListener
相关联。在onTouch()
中,我在点击该文本字段后执行了预期的操作。
我需要为onTouch()
编写单元测试用例。任何人都可以帮助我吗?
public boolean onTouch(View v, MotionEvent event) {
final Intent intent;
switch (v.getId()) {
case R.id.xyz:
intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(getString(R.string.xyz)));
startActivity(intent);
break;
case R.id.abc:
intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(getString(R.string.abc)));
startActivity(intent);
break;
default:
break;
}
return false;
}
答案 0 :(得分:1)
所以我发现的方法是:
答案 1 :(得分:0)
我通过在活动中创建OnTouchListener的变量对象来实现这一点。在测试中,对该对象调用了onTouch。
MotionEvent motionEvent = mock(MotionEvent.class);
when(motionEvent.getAction()).thenReturn(MotionEvent.ACTION_DOWN);
subject.onTouchListener.onTouch(subject,motionEvent);