gpt4 book ai didi

android - Espresso : String in adapterView

转载 作者:行者123 更新时间:2023-11-28 20:18:21 26 4
gpt4 key购买 nike

如果字符串显示在 listAdapter 的多个项目之一中,是否可以使用 android-espresso 进行验证?

尝试这样的事情:

onData(anything()).inAdapterView(withId(R.id.test)).check(matches(hasToString("Anmeldung steht noch aus!")));

最佳答案

这必须有效,但仅基于列表项位置:

onData(instanceOf(YourListItem.class))
.inAdapterView(withId(R.id.test))
.atPosition(0)
.check(matches(hasDescendant(withText("Anmeldung steht noch aus!"))));

如果您想检查唯一文本是否存在于适配器中的某处 - 您应该创建自己的匹配器,因此,它将类似于:

onData(withYourListItemText("Anmeldung steht noch aus!"))
.inAdapterView(withId(R.id.test))
.check(matches(isDisplayed()));

和匹配器:

public static Matcher<Object> withYourListItemText(final Matcher<String> yourListItemText) {
Checks.checkNotNull(yourListItemText);
return new BoundedMatcher<Object, YourListItem>(YourListItem.class) {
@Override
public boolean matchesSafely(YourListItem item) {
return yourListItemText.matches(item.getYourItemText());
}

@Override
public void describeTo(Description description) {
description.appendText("with text: " + yourListItemText.toString());
yourListItemText.describeTo(description);
}
};
}

关于android - Espresso : String in adapterView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32182060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com