我是 Robolectric 的新手,遇到了障碍。我有一些自定义事件会在微调器中选择一个项目时触发,我想使用 robolectric 测试它。我看到 ShadowSpinner 类提供了诸如 stateSpinner.clickFirstItemContainingText 之类的辅助函数来单击特定项目。我用适当的值填充微调器,我测试将每个项目打印为
for (int i = 0; i < spinner_items.length; ++i) {
spinner_items[i] = (String) spinner.getAdapter().getItem(i);
}
System.out.println("Spinner Items "
+ Arrays.asList(spinner_items).toString());
但是,当我将 clickFirstItemContainingText 与其中一个 po 一起使用时 脉冲值,我得到一个 IllegalArgumentException。没有找到包含测试的项目,这很奇怪,因为上面的代码显示特定值确实存在。
任何帮助将不胜感激
最佳答案
我无法让 Robolectric 与微调器一起工作。问题是微调器中列表项的 View 将不存在于所选 View 之外。这可以看作是 spinner.getChildCount()
将始终返回 1。只需调用 spinner.setSelection()
。
关于android - 如何让 Robolectric 选择特定的微调项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16624767/