大佬教程收集整理的这篇文章主要介绍了如何对具有View Animators的Android代码进行单元测试?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Robolectric,因为这可能是相关的.我试着调用Robolectric.runUiThreadTasksIncludingDelayedTasks();但这似乎没有解决任何问题.
动画代码如下:
public static void regularFadeView(final Boolean show,final View view) { view.animate() .seTinterpolator(mDecelerateInterpolator) .alpha(show ? 1 : 0) .setListener(new SimpleAnimatorListener() { @Override public void onAnimationStart(Animator animation) { if (show) view.setVisibility(View.VISIBLE); } @Override public void onAnimationEnd(Animator animation) { if (!show) view.setVisibility(View.INVISIBLE); } }) .start(); }
@VisibleForTesTing SimpleAnimatorListener getAnimationListener(Boolean show,View view) { return new SimpleAnimatorListener() { @Override public void onAnimationStart(Animator animation) { if (show) view.setVisibility(View.VISIBLE); } @Override public void onAnimationEnd(Animator animation) { if (!show) view.setVisibility(View.INVISIBLE); } } public static void regularFadeView(Boolean show,View view) { view.animate() .seTinterpolator(mDecelerateInterpolator) .alpha(show ? 1 : 0) .setListener(getAnimationListener(show,view)) .start(); }
然后在你的测试:
private void shouldShowViewWhenShowIsTrue() { View mockedView = mockito.mock(View.class); SimpleAnimatorListener animationListener = getAnimationListener(true,mockedView); animationlistener.onAnimationStart(null); mockito.verify(mockedView).setVisibility(View.VISIBLE); }
更好的方法是使用getAnimationListener()等方法来创建一个扩展SimpleAnimatorListener的FadeAnimationListener,并将动画逻辑放在那里.
希望这可以帮助!
以上是大佬教程为你收集整理的如何对具有View Animators的Android代码进行单元测试?全部内容,希望文章能够帮你解决如何对具有View Animators的Android代码进行单元测试?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。