爲Android開發時,有沒有必要將測試項目作爲普通Java模塊使用,因此運行時實際上並不在模擬器/設備上運行?在Android項目中使用Java模塊進行單元測試有什麼意義嗎?
我的想法是爲依賴於Android上下文的項目創建一個Android測試項目/模塊,併爲不依賴於Android本身的普通Java項目/模塊進行測試。
是否值得這樣做,還是因爲沒有在設備上運行測試代碼而打開自己的潛在痛苦。
注意我來自.Net背景,所以我的Java體驗非常苗條。
爲Android開發時,有沒有必要將測試項目作爲普通Java模塊使用,因此運行時實際上並不在模擬器/設備上運行?在Android項目中使用Java模塊進行單元測試有什麼意義嗎?
我的想法是爲依賴於Android上下文的項目創建一個Android測試項目/模塊,併爲不依賴於Android本身的普通Java項目/模塊進行測試。
是否值得這樣做,還是因爲沒有在設備上運行測試代碼而打開自己的潛在痛苦。
注意我來自.Net背景,所以我的Java體驗非常苗條。
當我爲Android開發時,我覺得這非常有幫助。有一些功能不需要基於硬件的事件,而只是數據。如果您能夠提供強大的測試數據,那麼這可以成爲迴歸測試代碼的簡單而輕鬆的方式,並確信您沒有將任何錯誤引入現有組件。
Android開發人員在Hello, Testing和Testing Fundamentals中都涵蓋了這些主題。
這是一種有效的方法。另外Roboelectric是一個單元測試框架,用於解決您提到的主要問題(在仿真器上執行的測試的緩慢性)。可能值得一試。在這個question也有不少相關的答案。