我最近正在开发一个Android应用程序/游戏,在该应用程序中我使用svg来显示游戏板。为此,我使用Richpath库来处理董事会的每个元素。我现在要进行单元测试,为此我需要具有RichpathView,可以在我的MainActivity中使用“ RichPathView richpathview = findViewById(R.id.gameboard)”创建它。但是,当我尝试将此应用于测试类时,它将无法正常工作。
我已经尝试过:
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
RichPathView r = new RichPathView(appContext);
r=r.findViewById(R.id.ic_gameboardView);
有了这个,我可以使用findViewById,但它不会返回我期望的视图。
由于您一直试图获取对该视图的引用,所以我怀疑您进行了工具测试(UI测试)。如果是这样,则无需获取参考即可查看。相反,应该在测试中调用onView()方法:
onView(withId(R.id.ic_gameboardView)).check(matches(isDisplayed()))
请参见Espresso testing的更多信息。