Java Espresso ViewAssertions-检查是否为空
我正在进行浓缩咖啡测试,我想测试两项:Java Espresso ViewAssertions-检查是否为空,java,android,android-espresso,Java,Android,Android Espresso,我正在进行浓缩咖啡测试,我想测试两项: 单击片段X中的按钮 TextView包含活动Y中的文本 代码: @RunWith(AndroidJUnit4.class) 公共类异步测试{ 私有静态最终字符串TEST_TEXT=“TEST_TEXT”; @统治 public ActivityTestRule mActivity=新ActivityTestRule(MainActivity.class); @试验 公共无效证明文件多个(){ 浓缩咖啡onView(ViewMatchers.withId(R
@RunWith(AndroidJUnit4.class)
公共类异步测试{
私有静态最终字符串TEST_TEXT=“TEST_TEXT”;
@统治
public ActivityTestRule mActivity=新ActivityTestRule(MainActivity.class);
@试验
公共无效证明文件多个(){
浓缩咖啡onView(ViewMatchers.withId(R.id.first_按钮))
.执行(ViewActions.click());
/*如何检查文本是否已填充*/
浓缩咖啡onView(ViewMatchers.withId(R.id.random_笑话))
.检查();
}
匹配(isDisplayed())
至少会检查视图是否正在显示-而人们几乎无法检查随机笑话的文本,其中人们会假设一些随机文本…除非加载特定文本用于测试目的,该文本是已知的-并且可以进行比较/匹配(正如最近在RecyclerView回答中所解释的那样,ActivityTestRule
可用于传递一个ITEM\u ID
,以便有一个特定的项来比较视图)
人们不必使用浓缩咖啡,但可以尝试
findViewById()
,然后assertNotNull()
不使用null怎么样?
@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();
}
onView(withId(R.id.random_joke)).check(matches(isDisplayed()));