PKA*_*KAP 1 testing android android-espresso
如果一个字符串显示在listAdapter的一个或多个项目中,那么android-espresso是否可以验证?
试着像这样的人:
onData(anything()).inAdapterView(withId(R.id.test)).check(matches(hasToString("Anmeldung steht noch aus!")));
Run Code Online (Sandbox Code Playgroud)
这必须有效但仅基于列表项位置:
onData(instanceOf(YourListItem.class))
.inAdapterView(withId(R.id.test))
.atPosition(0)
.check(matches(hasDescendant(withText("Anmeldung steht noch aus!"))));
Run Code Online (Sandbox Code Playgroud)
如果要检查适配器中某处是否存在唯一文本 - 您应该创建自己的匹配器,因此,它将类似于:
onData(withYourListItemText("Anmeldung steht noch aus!"))
.inAdapterView(withId(R.id.test))
.check(matches(isDisplayed()));
Run Code Online (Sandbox Code Playgroud)
和匹配:
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);
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3774 次 |
| 最近记录: |