大型app項(xiàng)目開(kāi)發(fā)必備之單元測(cè)試

把項(xiàng)目開(kāi)發(fā)中的技巧記錄下來(lái)友鼻,歡迎大家留言傻昙,幫忙補(bǔ)充。

一彩扔、測(cè)試:

代碼寫完需要跑下軟件看看有沒(méi)有達(dá)到預(yù)定的效果妆档,樓主遇到的項(xiàng)目編譯、安裝攻人、啟動(dòng)一次最長(zhǎng)的耗時(shí)30min陈瘦,如果改動(dòng)大跑跑還算值得盹沈,要是改幾行代碼就跑一次,一天也干不了什么活须板,還有就是寫的功能在安裝之前要盡量保證正確,這就需要在重新安裝的時(shí)候進(jìn)行測(cè)試兢卵。

測(cè)試的好處:提高開(kāi)發(fā)效率习瑰、提高代碼質(zhì)量。

方法一:

android studio3.0.1 項(xiàng)目建好后就有測(cè)試模塊如圖:

test androidTest



androidTest
test?

test 目錄下用于測(cè)試java代碼秽荤,不需要手機(jī)和模擬器 直接電腦上就可以測(cè)甜奄;

androidTest下測(cè)試含有Android的代碼,需要手機(jī)或模擬器 窃款。

test 測(cè)試:例如對(duì)SortUtils中冒泡排序bubbleSort(int[] datas)測(cè)試



androidTest下測(cè)試:

開(kāi)發(fā)中經(jīng)常會(huì)調(diào)接口课兄,這里結(jié)合主流的mvp設(shè)計(jì)模式 還有RXjava2? ? retrofit2測(cè)試一個(gè)登陸接口

現(xiàn)在測(cè)試PasswordLoginPresenter 中 login方法

login


跑測(cè)試


測(cè)試測(cè)試結(jié)果

從測(cè)試結(jié)果看并沒(méi)有輸出接口返回的信息,這是有原因的晨继,我的理解是androidTest 運(yùn)行?就是從頭到尾執(zhí)行完就結(jié)束了Rxjava在不同線程? 而且還有網(wǎng)絡(luò)請(qǐng)求等結(jié)果返回的時(shí)候androidTest 已經(jīng)不存在了烟阐,所以沒(méi)有結(jié)果,這里有兩個(gè)方法可以看到輸出:一紊扬、 把《跑測(cè)試》途中注釋的中斷放開(kāi)曲饱,時(shí)間足夠常保證看到結(jié)果;二珠月、用一個(gè)Rxjava2的線程調(diào)度工具扩淀,也可以,工具如下:

public class Rx2Tool {

public static void asyncToSync() {

RxJavaPlugins.reset();

RxJavaPlugins.setIoSchedulerHandler(new Function(){

public Scheduler apply(Scheduler scheduler)throws Exception {

return Schedulers.trampoline();

}

});

}

}


用法是:在ExampleInstrumentedTest加

@Before

? ? public void setUp() {

? ? ? Rx2Tool.asyncToSync();

}


完整測(cè)試結(jié)果

思考問(wèn)題:這個(gè)mvp比較簡(jiǎn)單啤挎,view直接傳的null,如果要是模擬數(shù)據(jù)驻谆,還有多次請(qǐng)求等怎么辦,這里介紹一些豐富的資料供讀者提高

https://github.com/simplezhli/AndroidUT

Rxjava1?https://segmentfault.com/a/1190000007207585

方法二:

還有一個(gè)神器Instant Run:http://blog.csdn.net/guolin_blog/article/details/51271369庆聘,不過(guò)有一次我修改了View跑起來(lái)沒(méi)有變化? 嚇的我沒(méi)怎么用了胜臊,比較早的時(shí)候 ,現(xiàn)在更新了伙判,還可以象对。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宴抚,隨后出現(xiàn)的幾起案子勒魔,更是在濱河造成了極大的恐慌甫煞,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冠绢,死亡現(xiàn)場(chǎng)離奇詭異抚吠,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)弟胀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門楷力,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人孵户,你說(shuō)我怎么就攤上這事萧朝。” “怎么了夏哭?”我有些...
    開(kāi)封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵剪勿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我方庭,道長(zhǎng)厕吉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任械念,我火速辦了婚禮头朱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘龄减。我一直安慰自己项钮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布希停。 她就那樣靜靜地躺著烁巫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宠能。 梳的紋絲不亂的頭發(fā)上亚隙,一...
    開(kāi)封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音违崇,去河邊找鬼阿弃。 笑死,一個(gè)胖子當(dāng)著我的面吹牛羞延,可吹牛的內(nèi)容都是我干的渣淳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼伴箩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼入愧!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤棺蛛,失蹤者是張志新(化名)和其女友劉穎怔蚌,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鞠值,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡媚创,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年渗钉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了彤恶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鳄橘,死狀恐怖声离,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瘫怜,我是刑警寧澤术徊,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站鲸湃,受9級(jí)特大地震影響赠涮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜暗挑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一笋除、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炸裆,春花似錦垃它、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至惯殊,卻和暖如春酱吝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背土思。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工掉瞳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浪漠。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓陕习,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親址愿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子该镣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,304評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)响谓,斷路器损合,智...
    卡卡羅2017閱讀 134,707評(píng)論 18 139
  • 項(xiàng)目啟發(fā)來(lái)自谷歌的同類框架項(xiàng)目 android-architecture利用一個(gè)相同的項(xiàng)目省艳,使用不同的框架實(shí)現(xiàn)之...
    boredream閱讀 4,216評(píng)論 9 67
  • 基礎(chǔ)鏡像Dockerfile 容器運(yùn)行示例: tomcat dubbo 本地掛載卷目錄結(jié)構(gòu) 查看某個(gè)容器的IP地址...
    你清澈又神秘閱讀 286評(píng)論 0 1
  • “年少時(shí)節(jié),你我心比天大嫁审,策馬走天涯跋炕,可誰(shuí)又能知道從此以后,竟是分道揚(yáng)鑣律适,直至漸行漸遠(yuǎn)漸無(wú)聲……” “一路走來(lái)辐烂,數(shù)...
    布小爭(zhēng)閱讀 409評(píng)論 4 2