6

我是 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 与其中一个填充值一起使用时,我得到了 IllegalArgumentException。没有发现包含 test 的项目,这很奇怪,因为上面的代码表明确实存在特定的值。

任何帮助将不胜感激

4

1 回答 1

5

我无法让 Robolectric 与微调器一起工作。问题是微调器中列表项的视图除了选定的视图外将不存在。这可以看作spinner.getChildCount()总是返回 1。只需调用spinner.setSelection().

于 2014-02-18T22:22:34.617 回答