我知道這對所有的android開發人員來說都是一個單調乏味的話題。但是,Android測試的正確方法究竟是什麼?Android單元測試的正確方法
這就是我所能想象的。
70%的單元測試(JUnit來測試所有的業務邏輯,網絡層,數據層等)
20%的集成測試(針對模擬服務器也許測試?主要測試API的結果?)
10%用戶界面測試(嘲諷其他任何非用戶界面互動,最有可能是Mockito +咖啡)
這是其他人都在遵循或有另一種模式?
在此先感謝!
我知道這對所有的android開發人員來說都是一個單調乏味的話題。但是,Android測試的正確方法究竟是什麼?Android單元測試的正確方法
這就是我所能想象的。
70%的單元測試(JUnit來測試所有的業務邏輯,網絡層,數據層等)
20%的集成測試(針對模擬服務器也許測試?主要測試API的結果?)
10%用戶界面測試(嘲諷其他任何非用戶界面互動,最有可能是Mockito +咖啡)
這是其他人都在遵循或有另一種模式?
在此先感謝!
這個問題和我的答案,與Android沒有任何關係,但這是件好事。
我稍微修改了你的假設,但原理是一樣的。
70%單元測試(JUnit來測試所有的業務邏輯。)
20%集成測試(網絡層,數據庫層等,真實服務器)
10%UI測試( UI工作流程+手動測試)
應該是70%嗎? 80%? 85%?沒關係。關鍵是比例。你希望你的大部分測試是fast, isolated in memory tests。如果您確實與數據庫進行了交互,那麼您只需要知道您的查詢工作。更新查詢是否實際更新了正確的實體?最後,你按照預期檢查你的UI工程。在這個級別上顯示的內容並不重要。只要用戶未登錄時顯示登錄屏幕即可。
這通常被稱爲Test Pyramid,這是你所描述的,只是減去顯式比率。
這裏的100%總和是否涵蓋了應用程序邏輯的覆蓋範圍,或僅僅是測試計數的總和? – hidro
嗨@hidro 100%是證明Android測試結構的一個手段。不專門給我的項目:) – WenChao