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());

ただし、入力された値の 1 つで clickFirstItemContainingText を使用すると、IllegalArgumentException が発生します。上記のコードは特定の値が存在することを示しているため、奇妙なテストを含むアイテムは見つかりませんでした。

どんな助けでも大歓迎です

4

1 に答える 1

5

Robolectric をスピナーで動作させることができませんでした。問題は、スピナーのリスト項目のビューが、選択されたものとは別に存在しないことです。これは、spinner.getChildCount()常に 1 を返すように表示されます。単に を呼び出しますspinner.setSelection()

于 2014-02-18T22:22:34.617 に答える