2013-01-18 23 views
1

我有一個android應用程序,我的測試人員正在學習如何使用robotium執行測試。 該應用程序有一個實體(對象/ pojo)存儲在一個SQLite數據庫與ID,描述和一些其他信息。測試Android應用程序 - 如何執行數據庫數據的設置?

我們需要一些如何在測試類中進行設置,以便應用程序具有一個具有可用於測試的確定ID,描述等的實體。

對於數據庫訪問,我們有一個Dao模式實現+ SQLiteOpenHelper的擴展創建和管理數據庫的更新,使用Robo Guice注入到Activity類中。到目前爲止,我們沒有使用ContentProvider(在android測試包中有一個MockContentProvider類),但如果這是我們可能遷移到的最佳解決方案。

設置實現的要求不是將測試代碼與應用程序代碼混合在一起。有什麼建議麼?

回答

1

我不確定你的意思是「安裝實現的要求不是將測試代碼與應用程序代碼混合在一起,有什麼建議嗎?」但即時通訊猜測你的意思是你不想在測試中重用應用程序中的任何代碼?

好吧,我恐怕你最好的選擇是讓你的任一寫代碼填充數據庫,或者讓他們運行應用程序,讓它進入一個給定的狀態然後測試。個人重用你的代碼可能是最好的選擇,但你必須以正確的方式來構建它,並取決於你試圖測試的內容。例如,如果您正在測試數據庫中的某些內容得到正確顯示,那麼重用我們的代碼就沒問題。如果你正在測試把東西放到數據庫中,那麼重用你的代碼並不好,那麼你應該運用應用程序來確保它能夠正確地保存到數據庫中。

我喜歡看這個的方式是BDD風格,在過去發生的「給定」步驟中的任何事情,您的測試不應該關心它是如何發生的,只是它發生了,所以它是如何發生的狀態並不重要,在這些情況下,速度可能是最重要的部分。

相關問題