如何让Robolectric选择一个特定的微调项目

时间:2013-05-18 13:26:59

标签: android robolectric android-testing

我是Robolectric的新手并且遇到了障碍。我有一些自定义事件,在spinner中选择一个项目时触发,我想用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。没有找到包含上述代码奇怪的测试的项目表明特定值确实存在。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:5)

我无法让Robolectric与纺纱厂合作。问题是,旋转器中列表项的视图将不会与所选的视图存在。这可以看作spinner.getChildCount()将始终返回1.只需致电spinner.setSelection()