2015-06-19 4 views
7

यह सही होना प्रतीत होता हैएंड्रॉयड एस्प्रेसो: मैं कैसे जोर एक दृश्य प्रदर्शित नहीं किया जाना चाहिए कि

onView (withId (R.id.menu_delete)).check (matches (not (isDisplayed()))); 

कर ... ... लेकिन यह इस अपवाद फेंकता है:

android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.just10.android:id/menu_delete 
If the target view is not part of the view hierarchy, you may need to use Espresso.onData to load it from one of the following AdapterViews:com.github.ksoichiro.android.observablescrollview.ObservableListView{3169f0f3 VFED.VC. .F...... 0,0-480,724 #102000a android:id/list} 

क्या है एक दृश्य जोर देने का सबसे अच्छा तरीका प्रदर्शित नहीं किया जाना चाहिए?

उत्तर

14

यह क्या मैं का इस्तेमाल किया है चाहिए:

onView (withId(R.id.menu_delete)).check (doesNotExist()); 

यह शायद विशेष तथ्य यह है कि दृश्य विकल्प मेनू में है और या वास्तव में, किसी भी समय पर मौजूद नहीं हो सकता है में क्रियान्वयन के आधार पर करने के लिए onCreateOptionsMenu और onPrepareOptionsMenu

संपादित

यह एक और तरीका है कि गैर मेनू विचारों के लिए मेरे लिए काम किया है:

onView (withID(R.id.menu_delete)) 
.check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE))); 
संबंधित मुद्दे