无法访问已实现的接口

时间:2019-07-10 09:37:47

标签: android unit-testing

我正在编写测试,当我尝试使用getActivity()从ActivityTestRule获取活动时,出现错误,提示无法访问第三方库的某些视图侦听器(在我的情况下为com.miguelcatalan.materialsearchview .OnQueryTextListener)。我的活动实现了此侦听器。

false

MainActivty类还实现了其他接口,但它们都在内部项目中或从android支持库中覆盖。

感谢您帮助我解决此问题(:

编辑: 这是“构建输出”窗口中的错误:

  

错误:无法访问MaterialSearchView           RecyclerView recyclerView = mActivityRule.getActivity()。findViewById(com.cobox.core.R.id.recyclerView_hp);

@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class);


@Test
public void testStuff(){

        RecyclerView recyclerView = mActivityRule.getActivity().findViewById(com.cobox.core.R.id.recyclerView_hp);
        int itemCount = recyclerView.getAdapter().getItemCount();
    }

1 个答案:

答案 0 :(得分:0)

好吧,正如我发现的那样,我在另一个模块中编写了测试,结果一个模块中的依赖项在另一个模块中无法识别。将缺少的依赖项添加到要编译的测试库并可以对其进行测试的位置之后。