एस्प्रेसो टेस्टिंग फ्रेमवर्क - दावे देखें
जैसा कि पहले चर्चा की गई है, मुखरता का उपयोग यह देखने के लिए किया जाता है कि दोनों वास्तविक दृश्य (व्यू मैचर्स का उपयोग करते हुए पाए गए) और अपेक्षित विचार समान हैं। एक नमूना कोड इस प्रकार है,
onView(withId(R.id.my_view)) .check(matches(withText("Hello")))
यहाँ,
onView () मिलान किए गए दृश्य के अनुरूप ViewInteration ऑब्जेक्ट देता है । मिलान दृश्य के साथ सहभागिता करने के लिए ViewInteraction का उपयोग किया जाता है।
withId (R.id.my_view) एक दृश्य मिलान करता है, जो दृश्य (वास्तविक) आईडी विशेषताओं के साथ मेल खाता है, जो my_view के बराबर है ।
withText ("Hello") भी एक दृश्य मिलान करता है जो दृश्य के साथ मेल खाता होगा (अपेक्षित) पाठ विशेषताओं वाले Hello के बराबर है ।
चेक एक ऐसी विधि है, जो व्यूअर्सर्शन के एक तर्क को स्वीकार करती है और व्यूअर्सर्शन ऑब्जेक्ट में पारित का उपयोग करके अभिकथन करती है।
माचिस (withText ("Hello")) एक दृश्य अभिकथन देता है, जो करेगाreal jobयह सुनिश्चित करने के लिए कि दोनों वास्तविक दृश्य ( withId का उपयोग करते हुए पाए गए ) और अपेक्षित दृश्य ( withText का उपयोग करते हुए ) एक और समान हैं।
आइए वस्तुओं को मुखर करने के लिए एस्प्रेसो परीक्षण ढांचे द्वारा प्रदान किए गए कुछ तरीकों को जानें।
अस्तित्व में नहीं है()
एक दृश्य अभिकथन लौटाता है, जो यह सुनिश्चित करता है कि दृश्य मिलान करने वाले को कोई मेल खाने वाला दृश्य नहीं मिले।
onView(withText("Hello")) .check(doesNotExist());
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि पाठ हैलो के साथ कोई दृश्य नहीं है।
मैचों ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और लक्ष्य दृश्य मिलानकर्ता द्वारा देखे गए दृश्य से मेल खाता है।
onView(withId(R.id.textView_hello)) .check(matches(withText("Hello World!")));
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि आईडी, R.id.textView_hello वाले दृश्य मौजूद हैं और हैलो वर्ल्ड के साथ लक्ष्य दृश्य के साथ मेल खाते हैं!
isBottomAlignedWith ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और नीचे लक्ष्य व्यूअर के साथ संरेखित है।
onView(withId(R.id.view)) .check(isBottomAlignedWith(withId(R.id.target_view)))
इधर, परीक्षण का मामला यह सुनिश्चित करता है कि आईडी, R.id.view मौजूद है और नीचे आईडी, R.id.target_view वाले दृश्य के साथ संरेखित है ।
isCompletelyAbove ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और पूरी तरह से लक्ष्य दृश्य मिलानकर्ता के ऊपर स्थित है।
onView(withId(R.id.view)) .check(isCompletelyAbove(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि दृश्य आईडी, R.id.view मौजूद है और यह आईडी, R.id.target_view वाले दृश्य के ऊपर पूरी तरह से स्थित है
isCompletelyBelow ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और लक्ष्य दृश्य मिलानकर्ता के नीचे पूरी तरह से स्थित है।
onView(withId(R.id.view)) .check(isCompletelyBelow(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के नीचे पूरी तरह से स्थित है ।
isCompletelyLeftOf ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन लौटाता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और लक्ष्य दृश्य मिलानकर्ता के पूरी तरह से शेष है।
onView(withId(R.id.view)) .check(isCompletelyLeftOf(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि दृश्य आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के पूरी तरह से स्थित है
isCompletelyRightOf ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और लक्ष्य दृश्य मिलानकर्ता के पूर्ण रूप से सही स्थान पर स्थित है।
onView(withId(R.id.view)) .check(isCompletelyRightOf(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि दृश्य आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के पूरी तरह से स्थित है।
isLeftAlignedWith ()
एक लक्ष्य दृश्य मिलानकर्ता स्वीकार करता है और एक दृश्य अभिकथन लौटाता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और इसे लक्ष्य दृश्य मिलानकर्ता के साथ संरेखित किया गया है।
onView(withId(R.id.view)) .check(isLeftAlignedWith(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि दृश्य आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के साथ संरेखित किया गया है
isPartiallyAbove ()
एक लक्ष्य दृश्य मिलानकर्ता स्वीकार करता है और एक दृश्य अभिकथन लौटाता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और आंशिक रूप से लक्ष्य दृश्य मिलानकर्ता के ऊपर स्थित है।
onView(withId(R.id.view)) .check(isPartiallyAbove(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि दृश्य आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के ऊपर आंशिक रूप से स्थित है
isPartiallyBelow ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और इसे आंशिक रूप से लक्ष्य दृश्य मिलानकर्ता के नीचे स्थित किया गया है।
onView(withId(R.id.view)) .check(isPartiallyBelow(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि दृश्य आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के नीचे आंशिक रूप से स्थित है ।
isPartiallyLeftOf ()
एक लक्ष्य दृश्य मिलानकर्ता स्वीकार करता है और एक दृश्य अभिकथन लौटाता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और इसे लक्ष्य दृश्य मिलानकर्ता के आंशिक रूप से छोड़ दिया गया है।
onView(withId(R.id.view)) .check(isPartiallyLeftOf(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि दृश्य आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के आंशिक रूप से बचे हुए हैं ।
isPartiallyRightOf ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और लक्ष्य दृश्य मिलानकर्ता के आंशिक रूप से सही स्थित है
onView(withId(R.id.view)) .check(isPartiallyRightOf(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के आंशिक रूप से दाईं ओर स्थित है ।
isRightAlignedWith ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और लक्ष्य दृश्य मिलानकर्ता के साथ ठीक संरेखित है।
onView(withId(R.id.view)) .check(isRightAlignedWith(withId(R.id.target_view)))
यहां, परीक्षण का मामला यह सुनिश्चित करता है कि आईडी, R.id.view मौजूद है और सही आईडी, R.id.target_view वाले दृश्य के साथ संरेखित है ।
isTopAlignedWith ()
एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि दृश्य मिलानकर्ता (वास्तविक) मौजूद है और लक्ष्य दृश्य मिलानकर्ता के साथ शीर्ष संरेखित है।
onView(withId(R.id.view)) .check(isTopAlignedWith(withId(R.id.target_view)))
यहाँ, परीक्षण का मामला यह सुनिश्चित करता है कि आईडी, R.id.view मौजूद है और आईडी, R.id.target_view वाले दृश्य के साथ शीर्ष संरेखित है
noEllipsizedText ()
एक दृश्य अभिकथन लौटाता है, जो यह सुनिश्चित करता है कि दृश्य पदानुक्रम में पाठ विचारों को दीर्घवृत्त या काट नहीं है।
onView(withId(R.id.view)) .check(noEllipsizedText());
noMultilineButtons ()
एक दृश्य अभिकथन लौटाता है, जो यह सुनिश्चित करता है कि दृश्य पदानुक्रम में मल्टी लाइन बटन नहीं हैं।
onView(withId(R.id.view)) .check(noMultilineButtons());
noOverlaps ()
एक दृश्य अभिकथन लौटाता है, जो यह सुनिश्चित करता है कि TextView या ImageView के लिए असाइन की गई वंशज वस्तु एक-दूसरे को ओवरलैप नहीं करती है। इसका एक और विकल्प है, जो एक लक्ष्य दृश्य मिलानकर्ता को स्वीकार करता है और एक दृश्य अभिकथन देता है, जो यह सुनिश्चित करता है कि लक्ष्य दृश्य से मेल खाने वाला वंशज ओवरलैप न हो।