Espresso ViewAssertions-检查是否不为空

时间:2018-08-25 19:08:52

标签: java android android-espresso

我正在测试Espresso,我想测试2个项目:

  1. 单击片段X中的按钮
  2. TextView包含活动Y中的文本

代码:

@RunWith(AndroidJUnit4.class)
public class AsyncTest {

    private static final String TEST_TEXT = "TEST_TEXT";

    @Rule
    public ActivityTestRule<MainActivity> mActivity = new ActivityTestRule(MainActivity.class);

    @Test
    public void testIfResultIsEmpty() {

        Espresso.onView(ViewMatchers.withId(R.id.first_button))
          .perform(ViewActions.click());

        /* How do I check that text has populated? */
        Espresso.onView(ViewMatchers.withId(R.id.random_joke))
         .check();
 }

1 个答案:

答案 0 :(得分:1)

matches(isDisplayed())至少会检查视图是否正在显示-一个人几乎不能检查一个随机笑话的文本,而其中一个人会假设一些随机文本...除非出于测试目的而加载特定文本,然后就可以知道它了,并且可以进行比较/匹配(如最近在RecyclerView答案中所述,ActivityTestRule可用于传递ITEM_ID,这样一个人就可以比较一个特定的项目的意见。)

onView(withId(R.id.random_joke)).check(matches(isDisplayed()));

并且不必使用Espresso,但可以先尝试findViewById()然后再尝试assertNotNull()