मैं ऐप विकास में एकल गतिविधि मॉडल और एमवीवीएम का पालन कर रहा हूं; तो मेरे पास एक ही गतिविधि है और बाकी यूआई सभी टुकड़े हैं। तो, प्रत्येक एक टुकड़ा स्व-निहित है और मैं राज्य को लीक किए बिना प्रत्येक टुकड़े का परीक्षण करना चाहता हूं।

@RunWith(AndroidJUnit4::class)
class SplashFragmentTest {

    @Test
    fun testVisibilityOfLogo() {
        launchFragmentInContainer<SplashFragment>()
        onView(ViewMatchers.withId(R.id.ivLogo))
                .check(matches(isDisplayed()))
    }
}

मेरे पास निम्नलिखित परीक्षण है, जो फेंक रहा है

Activity never becomes requested state "[RESUMED, STARTED, DESTROYED, CREATED]" (last lifecycle transition = "PRE_ON_CREATE")

मैंने एंड्रॉइड डॉक्स का भी पालन किया है: https://developer.android.com/training /मूल बातें/टुकड़े/परीक्षण

डॉक्स के अनुसार,

इन फ़्रैगमेंट प्रकारों में से किसी एक को लॉन्च करने के बाद, FragmentScenario परीक्षण के तहत फ़्रेग्मेंट को RESUMED स्थिति में ले जाता है। यह स्थिति इंगित करती है कि टुकड़ा चल रहा है। यदि आप एक ग्राफिकल टुकड़े का परीक्षण कर रहे हैं, तो यह उपयोगकर्ताओं के लिए भी दृश्यमान है, इसलिए आप एस्प्रेसो यूआई परीक्षणों का उपयोग करके इसके यूआई तत्वों के बारे में जानकारी का मूल्यांकन कर सकते हैं।

ऐसा लगता है कि ऐसा नहीं हो रहा है। क्या किसी को यूआई परीक्षण के साथ खंड के साथ ऐसी कोई समस्या आती है?

0
Farruh Habibullaev 17 पद 2019, 22:58

1 उत्तर

समस्या यह थी कि मैं अपने मामले में ऐप स्तर के ग्रेडल में निम्नलिखित दो निर्भरताओं को जोड़ना भूल गया हूं।

debugImplementation 'androidx.fragment:fragment-testing:1.2.0-rc03'
debugImplementation 'androidx.test:core:1.3.0-alpha03'
1
Farruh Habibullaev 17 पद 2019, 23:51