Android 測試代碼編寫小技巧 - UI 和 單元測試間共享代碼

默認的情況下,Android studio會幫助默認建立兩個不同的測試 folder - 單元測試 (就是 java 的單元測試用例仲锄,獨立于Android 不需要跑在 Android 設(shè)備上),另一個就是 Android 測試用例儒喊,主要是UI相關(guān)的币呵,這類 case 必須要運行在 android 設(shè)備上。

正常情況下余赢,默認建立的結(jié)構(gòu)如下:

1.png

這樣帶來的問題就是,我們在編寫測試用例的時候扛拨,很多時候不是獨立,而是有關(guān)聯(lián)的举塔,是需要在兩個測試用例中共享一些代碼求泰,比如說有個類叫做 TestUils.java拜秧,在兩種測試用例中都需要用到。

實際上,單元測試和 UI 測試本身之間是獨立志衍,比如如何在 test 文件下的文件在 androidTest 下都是不可見的。

幸運的是楼肪,gradle 的靈活實際上還是可以做到這件事情的。

創(chuàng)建一個共享的測試文件夾

怎么做呢春叫?首先是先在 app/src 下創(chuàng)建一個文件夾,這里就叫做testShared价匠,現(xiàn)在的目錄將變成下面的樣子:

2.png

接下來在這個 folder 下新建一個類 TestUtils.java呛每,這個就是我們想要共享的類:

3.png

然后核心的地方,是去修改 app/build.gradle 這個文件洋腮,按照下面的方式修改:

android.sourceSets {  
    test {
        java.srcDirs += "$projectDir/src/testShared"
    }

    androidTest {
        java.srcDirs += "$projectDir/src/testShared"
    }
}

這樣我們就告訴了測試用例在編譯的時候同樣編譯 testShared這個folder手形,類似于追加一個其他目錄下的文件來編譯。

現(xiàn)在库糠,重新做 gradle sync 后,你就應(yīng)該可以在你的 UI 和 單元測試用例中調(diào)用這個共享的類了:


4.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鳞骤,一起剝皮案震驚了整個濱河市黍判,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌顷帖,老刑警劉巖渤滞,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件榴嗅,死亡現(xiàn)場離奇詭異,居然都是意外死亡绪励,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門唠粥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人大莫,你說我怎么就攤上這事官份。” “怎么了舅巷?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵羔味,是天一觀的道長。 經(jīng)常有香客問我钠右,道長介评,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任爬舰,我火速辦了婚禮们陆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘情屹。我一直安慰自己坪仇,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布垃你。 她就那樣靜靜地躺著椅文,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惜颇。 梳的紋絲不亂的頭發(fā)上皆刺,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天羡蛾,我揣著相機與錄音锨亏,去河邊找鬼忙干。 笑死捐迫,一個胖子當(dāng)著我的面吹牛爱葵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暇韧,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巧婶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起英岭,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤诅妹,失蹤者是張志新(化名)和其女友劉穎毅人,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體划煮,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡弛秋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年蟹略,在試婚紗的時候發(fā)現(xiàn)自己被綠了遏佣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡捏萍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出令杈,到底是詐尸還是另有隱情碴倾,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站僧须,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏担平。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一面褐、第九天 我趴在偏房一處隱蔽的房頂上張望展哭。 院中可真熱鬧闻蛀,春花似錦、人聲如沸觉痛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柑船。三九已至泼各,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逆巍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工笙僚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留灵再,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓栋猖,卻偏偏與公主長得像汪榔,于是被迫代替她去往敵國和親蒲拉。 傳聞我的和親對象是個殘疾皇子雌团,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,524評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理柿菩,服務(wù)發(fā)現(xiàn),斷路器懦胞,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 我就是那么愛你
    人生燈塔閱讀 143評論 0 0
  • 1躏尉、 ocean ['?u??n] n.大海,海洋,許多,廣闊 2胀糜、 emotion [i'm?u??n] n.情...
    每日20個英語單詞閱讀 2,766評論 0 0
  • 面試場景1 以小明為例 問:“假設(shè)你所在的團隊負責(zé)研發(fā)一款手機計算器程序括堤,你是這款產(chǎn)品的測試負責(zé)人,你準(zhǔn)備怎么開展...
    子非初心閱讀 793評論 0 8