$scope.time = "2015-06";
是否有能力检查espresso
中的所有观看次数,而不是从中获取一个观看次数,而是检查所有情况。
似乎listview
用于返回与列表中只有一个列表项的交互。这不适合我的问题。
修改
实际上我找到了一个解决方案,解决了我的问题,但它看起来像是尖峰而不是好的。
我启动StealCount操作以从onData()
获取项目数量因为我们不能从测试中做到这一点(因为我们在Inst线程内部)。之后,我使用ListView
开始检查列表视图中的任何项目的数据。看起来像这样:
DataInteraction
但无论如何它对我来说似乎很难看。 还有其他能力吗?
答案 0 :(得分:1)
我会以不同的方式做到这一点。
要查看列表视图,您只需要执行以下操作:
for (int i = 0; i < numItems; i++) {
onData(anything())
.inAdapterView(withId(R.id.listViewId)).atPosition(i)
.check(matches(isDisplayed()));
}
而且,之前,要获取numItems变量,您只需通过ActivityTestRule访问列表适配器:
int numItems = ((ListView) mActivityRule.getActivity().findViewById(R.id.listViewId)).getAdapter().getCount();
或者,如果它在片段内:
int numItems = ((ListView) mActivityRule.getActivity().getSupportFragmentManager().findFragmentById(R.id.fragmentId).getView().findViewById(R.id.listViewId)).getAdapter().getCount();
即使我理解你的代码,我认为这个代码更容易被理解。 唯一令人困惑的部分是访问适配器的方式。但是你可以创建其他中间变量以使其更具可读性,或者如果你愿意,可以创建一个函数来获得这个数字。