Android MVP。测试视图(使用Robolectric进行仪器测试或单元测试)

时间:2017-02-27 13:10:31

标签: android unit-testing mvp

对测试View(Activity,Fragment)有以下疑问。第一种方法是使用robolectric测试视图,模拟Android组件,如下面的代码:

private void setUp() {
        fragment = new CustomFragment();
        activity = Robolectric.setupActivity(MainActivity.class);
}
@Test
public void testOnCreateView() {
    fragment.onCreateView(LayoutInflater.from(activity), (ViewGroup) activity.findViewById(R.id.container), null);
    verify(repoInfoPresenter).onCreateView(null);
}

不喜欢这种方法,导致此测试执行需要很长时间。在我看来,单元测试应该在每个合并请求上执行,因此它们不应该像那样的测试那么慢。

另一种变体是使用Espresso编写Instrumentation测试。我知道它已经需要很长时间和真实的设备,但我不认为这个测试应该像在jvm上运行的测试那样经常执行。

或许对于我不知道的片段或活动,有一些神奇的变体来模拟(make stubs)?

0 个答案:

没有答案