Android + robolectric在异步回调中修改的最终类的测试状态

时间:2014-10-29 14:54:06

标签: android integration-testing robolectric

简单...... 我想测试一下,当我的类完成时,它调用的回调和回调内部我修改了我的视图状态(View.class),我怎么能用robolectric和mockito做到这一点?

animator.addPushOutAnimationListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                view.setVisibility(View.GONE);
            }
        });

1 个答案:

答案 0 :(得分:0)

您可以使用

创建活动控制器
ActivityController controller = Robolectric.buildActivity(MyAwesomeActivity.class)

然后,您可以通过在控制器上调用正确的方法来模拟您感兴趣的生命周期的一部分

controller.stop(); 
controller.destroy(); 

然后,您可以找到所需的视图并检查其可见性。

或者,或许更好,允许在您的活动中注入AnimatorListenerAdapter并在测试中传递模拟适配器。然后,您可以验证在模拟上调用正确的方法。