2012-06-28 54 views
1

我正在嘗試在Activity中測試我的UI。 但是,此活動會執行一些後臺網絡操作,並在響應中將其碎片更新爲我試圖測試的實際組件。Android單元測試:如何等待Activity更新UI

我的單元測試失敗,因爲它試圖assertNotNull已被渲染到屏幕上的視圖呢。

我該如何去發信號通知我的單元測試Activity已經執行了這個後臺操作,並且所有的事情都應該準備好進行安裝和測試了?

+1

看看答案[這裏](http://stackoverflow.com/questions/10491526/how-can-i-test-the-result-of-a-button-click-that-c​​hanges-the-activitys- view-asy/10491965#10491965)有幫助。 – yorkw

回答

1

在做了一些研究和更多的玩耍之後,似乎有兩種方法可以做到這一點。首先,你可以像@ yorkw所建議的那樣,使用sleep()並嘗試一切。

我的直覺告訴我,這不是最好的主意。這只是一堆你可以遇到的問題。更好的解決方案是在編寫應用程序時將測試考慮在內。我已經觀看了一些關於單元測試的視頻,並且這一個Google談話脫穎而出。 Clean Code Talks看完本文後,嘗試編寫難以測試代碼的測試,我對編寫單元測試以及將實現/顯示邏輯與業務邏輯分開表示了全新的理解。

所以簡單的答案是更好地實施您的應用程序,以避免出現這些問題。