【发布时间】:2015-12-17 19:24:15
【问题描述】:
我想编写一个单元测试来验证合并适配器中列出的用户数量。
我的MergeAdapter 列表视图包含三个元素:
- 带有一些按钮的标题,
- 用户的适配器,
- 带有一些按钮的页脚。
我已经找到了这段代码来检查列表视图中的孩子数量:
class Matchers {
public static Matcher<View> withListSize (final int size) {
return new TypeSafeMatcher<View>() {
@Override public boolean matchesSafely (final View view) {
return ((ListView) view).getChildCount () == size;
}
@Override public void describeTo (final Description description) {
description.appendText ("ListView should have " + size + " items");
}
};
}
}
但它总是返回 3,因为 `ListView.
我只想检查包含用户列表的中间部分。
这是我的浓缩咖啡代码:
onView (withId (android.R.id.list)).check (ViewAssertions.matches(Matchers.withListSize(2)));
它应该检查列表中是否有 2 个用户,但此检查失败,因为它再次返回 3(正如我之前所说的有部分)。
这是 MergeAdapter 的链接:https://github.com/commonsguy/cwac-merge
【问题讨论】:
标签: android unit-testing android-testing android-espresso