用浓咖啡设置Spinner项目

时间:2017-01-10 17:53:56

标签: android unit-testing ui-testing android-espresso

我想知道如何在espresso测试中在微调器中设置项目。

onView(withId(R.id.spinner_gender)).perform(click());
onData(allOf(is(instanceOf(String.class)))).atPosition(0).perform(click());

上面的代码不起作用:/

1 个答案:

答案 0 :(得分:1)

您的代码段看起来是正确的,因此测试类的其他部分可能存在问题? 您是否收到异常或堆栈跟踪,您可以更新您的问题?另请查看浓咖啡documentation以获得更多解释。

请参阅小代码示例,了解如何按文本或位置选择微调器选项。

@RunWith(AndroidJUnit4.class)
public class BasicEspressoTest {
    @Rule
    public ActivityTestRule<MainActivity> testRule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void selectBySpinnerPosition() throws Exception {
        onView(withId(R.id.spinner)).perform(click());
        onData(allOf(is(instanceOf(String.class)))).atPosition(0).perform(click());
    }

    @Test
    public void selectBySpinnerText() throws Exception {
        onView(withId(R.id.spinner)).perform(click());
        onData(allOf(is(instanceOf(String.class)), is("spinner's text"))).perform(click());
    }
}