老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網站建設、域名注冊、服務器等服務

Android中如何測試異步任務-創(chuàng)新互聯

這篇文章主要介紹“Android中如何測試異步任務”,在日常操作中,相信很多人在Android中如何測試異步任務問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Android中如何測試異步任務”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯建站主營永吉網站建設的網絡公司,主營網站建設方案,成都app軟件開發(fā)公司,永吉h5成都小程序開發(fā)搭建,永吉網站營銷推廣歡迎永吉等地區(qū)企業(yè)咨詢

Android中的測試(寬泛的定義)是一個單元測試集合的擴展。涉及初始化、關閉測試,包含setUp()和tearDown()操作,使用反射 的方式推斷出不同的測試方式(從JUnit4開始我們就可以使用注釋來指定的優(yōu)先級和執(zhí)行所有測試)。一個典型的測試結構如下:

public class MyManagerTest extends ActivityTestCase {        public MyManagerTest(String name) {         super(name);     }        protected void setUp() throws Exception {         super.setUp();     }        protected void tearDown() throws Exception {         super.tearDown();     }        public void testDummyTest() {         fail("Failing test");     }    }

這是一個非常明顯的示例:實際開發(fā)中,我們想要測試例如HTTP響應、SQL存儲等等。在Sixt我們遵從一種Manager/Model方法:每 個Model包含一個實體(車、顧客等)的表現。每個Manager用不同的模型(例如,我們的LoginManager可能需要用戶與之交互的模型)聚 合成一套功能。

大多數的Manager集中執(zhí)行HTTP請求是要從后臺獲取數據。例如,我們用下面的代碼來執(zhí)行用戶的登錄:

mLoginManager.performLoginWithUsername("username", "password", new OnLoginListener() {     @Override     public void onFailure(Throwable throwable) {         fail();     }       Override     public void onSuccess(User customer) {     //..     } });

應用到我們自己的測試集合后,當得到預期之外的結果時,只是讓這一結果失敗。我們可以看到為什么在onFailure()函數中我們調用了 fail()。接下來,即使我用一個錯誤的用戶名也能通過這個測試。思前想后,測試似乎是按照代碼順序執(zhí)行的,但并沒有等到回調函數的結果返回再向下執(zhí) 行。

這顯然不是一個好方法。因為現在的程序經常通過異步任務和回調方法從后臺獲取數據。嘗試UIThread測試仍然不行。

***,我發(fā)現下面這種方法可以行得通。只是用簡單的CountDownLatch信號對象來實現wait-notify機制(你也可以用syncronized(lock){... lock.notify();},只是這樣代碼并不美觀而已)

那么之前的代碼就變成了下面的模樣:

final CountDownLatch signal = new CountDownLatch(1); mLoginManager.performLoginWithUsername("username", "password", new OnLoginListener() {     @Override     public void onFailure(Throwable throwable) {         fail();         signal.countDown();     }       Override     public void onSuccess(User customer) {         signal.countDown();     } }); signal.await();

到此,關于“Android中如何測試異步任務”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當前文章:Android中如何測試異步任務-創(chuàng)新互聯
網站URL:http://www.xueling.net.cn/article/cdojoe.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 欧美成人在线免费 | 2021国产在线观看不卡视频 | 狠狠干天天草 | www激情| 在线视频一二三区 | 国产人妻无码一区二区三区不卡 | 欧美性受xxxx黑人 | 日本黄色录像片 | 欧美成人午夜不卡免费 | 蜜臀AV无码一区二区三区 | 亚洲黄色网络 | 玩弄放荡人妇系列AV在线网站 | 欧美夜夜 | 火影大胸美女被黄网站 | 国产欧美一区二区三区精品酒店 | 国产成人精品aa毛片 | 高清一区在线 | 欧美日韩另类视频 | 91插视频 | 亚洲AV无码午夜嘿嘿嘿 | 久久99精品久久久久蜜臀 | 男人操女人视频在线观看 | 成人国产一区二区精品小说 | 好男人视频网站 | 亚洲高清在线 | 亚洲人人舔人人 | a级毛片黄 | 久久久久黄| 亚洲卡一卡二新区永久时长 | 久久免费国产精品1 | 日日摸日日碰夜夜爽视频 | 狠狠色视频 | 91丨porny丨最新 | 久久国产精品亚洲人一区二区三区 | 欧美成人h版在线观看 | 欧美毛片在线 | 亚洲成在人线a免费77777 | 免费av网站在线播放 | 丰满的少妇愉情hd高清果冻传媒 | 狠狠噜狠狠狠狠丁香五月 | 国产一级黄色录像片 |