Android单元测试-findViewById

问题描述 投票:0回答:1

我最近正在开发一个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,但它不会返回我期望的视图。

java android testing view
1个回答
0
投票

由于您一直试图获取对该视图的引用,所以我怀疑您进行了工具测试(UI测试)。如果是这样,则无需获取参考即可查看。相反,应该在测试中调用onView()方法:

onView(withId(R.id.ic_gameboardView)).check(matches(isDisplayed()))

请参见Espresso testing的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.