2016-11-15 60 views
1

我不確定在Espresso測試中它是否正確實現「for循環」。我想在ExpandableListView中測試所有父母的第一個孩子。 潛在代碼:Android測試:在Espresso測試中,它是否正確實現「for Loop」?

for(i = 0; i < length; i++){ 
onData(anything()) 
    .inAdapterView(withId(R.id.userProfileActivityList)) 
    .atPosition(i) 
    .check(matches(isDisplayed())) 
    .perform(click()) 
    .check(matches(hasDescendant(isDisplayed()))); 
} 

非常感謝。

+0

測試的一般經驗法則是每個方法一個斷言。如果你想創建一個數組並對另一組值進行驗證,那麼它就沒問題。你究竟想要對它進行測試呢? – sumandas

+0

你好,謝謝你的回覆。其實我想測試每個統一的父母是可點擊和顯示的,並且每個父母也有顯示的統一的孩子。 –

回答

1

當然,爲什麼不呢?我有兩點想法。

答:你做了什麼是好的,良好的作風,導致較少的代碼複用等

B:我有時喜歡冗長的代碼在測試情況下,結果清楚起見。當我的測試用例失敗時,我想知道他們爲什麼失敗了,所以我可以快速回到我的代碼並修復它們。這也是「每個方法一個斷言」概念的動機。

想一想:當這個測試用例失敗時,它會以一種引導開發人員清晰易用的正確功能的方式失敗?

如果這個問題的答案是肯定的,還有什麼關係?當然,這包含很多!在測試用例中保持一般良好的編碼風格,使用可靠的消息進行良好的斷言,並確保您的斷言可以提供穩定的堆棧跟蹤......僅舉幾例!

+0

謝謝,這很好。我沒有想過如果測試失敗和解決問題的後果。我們如何知道哪些/哪些功能完全失敗?父母,孩子?我會重新考慮這個循環) –

相關問題