千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Kotlin對(duì)APP測(cè)試意味著什么?

Kotlin對(duì)APP測(cè)試意味著什么?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-11 18:37:41 1697020661

一、Kotlin對(duì)APP測(cè)試意味著什么

Kotlin最終會(huì)被編譯成Java bytecode,然后變成APK。如果APP部分或者全部使用Kotlin開(kāi)發(fā),會(huì)對(duì)現(xiàn)在的測(cè)試體系有影響。靜態(tài)代碼分析工具,比如findbugs, Android Lint, Sonar這類,這些工具的影響是最大的。

因?yàn)橛行┦侵苯雍驮创a打交道的,但是不用擔(dān)心,Kotlin的開(kāi)發(fā)工具已經(jīng)慢慢開(kāi)始,包括語(yǔ)法檢查,各種靜態(tài)分析也會(huì)慢慢抓上來(lái) UI自動(dòng)化工具,例如Appium, Calabash, Robotium:只要Java一天不死,這些工具總是能用,無(wú)論Kotlin怎樣,最終還是可以直接和原生Java代碼銜接的,以前的Robotium Java用例照樣能跑,Appium之類的直接從Uiautomator這種點(diǎn)擊View的,更是沒(méi)有關(guān)系。這里要說(shuō)到一個(gè)有趣的東西 Anko,是專門用來(lái)輔助Android Kotlin開(kāi)發(fā)的,里面有一個(gè)Anko Layout,直接在代碼里面用Kotlin定義layout,拋棄XML:

override fun onCreate(savedInstanceState: Bundle?) {

??? super.onCreate(savedInstanceState)

??? verticalLayout {

??????? padding = dip(30)

??????? editText {

??????????? hint = “Name”

??????????? textSize = 24f

??????? }

??????? editText {

??????????? hint = “Password”

??????????? textSize = 24f

??????? }

??????? button(“Login”) {

??????????? textSize = 26f

??????? }

??? }

}

所以以后找id什么的事情,可能會(huì)有變化,這也取決于開(kāi)發(fā)團(tuán)隊(duì)使用Kotlin的程度。

SDK工具:bugly, LeakCanary等:完全不受到影響,只要是Java的庫(kù)Kotlin可以無(wú)縫連接,這點(diǎn)要表?yè)P(yáng)下Kotlin的兼容性。?插樁工具:Appetizer, JaCoCo, Emma,插樁工具向APP中添加測(cè)量代碼來(lái)完成任務(wù),JaCoCo/Emma的代碼覆蓋率和Appetizer的崩潰、性能、Http、卡頓監(jiān)控等都是這樣。Appetizer是直接在Dalvik代碼上插樁的,所以和源代碼是用什么語(yǔ)言開(kāi)發(fā)的沒(méi)有關(guān)系;JaCoCo是在Gradle中間,對(duì)Javac產(chǎn)生的bytecode插樁,也是一樣,和源代碼沒(méi)關(guān)系,所以繼續(xù)能用。APK啟動(dòng)后的工具,包括Proxy工具,Mock工具,弱網(wǎng)模擬:都沒(méi)事

延伸閱讀:

二、Kotlin歷史

Kotlin并不年輕,JetBrains 公司早在2011年七月就宣布了 Kotlin 項(xiàng)目。JetBtrains是捷克一家出產(chǎn)IDE的公司,比較知名的產(chǎn)品有 IntelliJ, WebStorm, PyCharm, CLion等,Google在拋棄了Eclipse搞出的Android Studio,就是基于IntelliJ開(kāi)發(fā)的。JetBrains的產(chǎn)品基本涵蓋了市面上主要的編程語(yǔ)言,一般是免費(fèi)版和收費(fèi)增強(qiáng)版,對(duì)高校學(xué)生也是非常好的。有興趣的可以去看一下他們的產(chǎn)品,Appetizer團(tuán)隊(duì)還是很喜歡他們的IDE的。

2012年2月,Kotlin開(kāi)源。知道2016年2月,Kotlin 名列前茅個(gè)穩(wěn)定版本 1.0發(fā)布。

當(dāng)然2017年 Google IO上宣布Kotlin 作為 Android 的一級(jí)開(kāi)發(fā)語(yǔ)言

值得注意的還有,2013年的Google IO宣布了Android Studio,也就是說(shuō) Google和JetBrains有一定年頭了。但是Kotlin還是比較年輕,下面是Github上用Kotlin寫的項(xiàng)目的數(shù)量,和右邊其他主流語(yǔ)言比比還是有非常漫長(zhǎng)的路要走。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
JavaScript能達(dá)到什么效果?

一、動(dòng)態(tài)內(nèi)容與交互JavaScript可以讓網(wǎng)頁(yè)具有動(dòng)態(tài)性和交互性,為用戶提供更豐富的使用體驗(yàn)。動(dòng)態(tài)內(nèi)容:通過(guò)JavaScript,開(kāi)發(fā)人員可以動(dòng)態(tài)地修改...詳情>>

2023-10-11 20:20:30
Python的主要應(yīng)用行業(yè)有哪些?

一、網(wǎng)絡(luò)和Web開(kāi)發(fā)Python在網(wǎng)絡(luò)和Web開(kāi)發(fā)領(lǐng)域有著廣泛的應(yīng)用。它提供了一系列的庫(kù)和框架,如Django和Flask,用于構(gòu)建高效且可擴(kuò)展的Web應(yīng)用程序...詳情>>

2023-10-11 20:18:37
Python語(yǔ)言是用來(lái)做什么?

Python是一種高級(jí)的、動(dòng)態(tài)類型的解釋性編程語(yǔ)言,以其簡(jiǎn)潔明了的語(yǔ)法和強(qiáng)大的功能而廣受贊譽(yù)。Python的應(yīng)用范圍非常廣泛,從Web開(kāi)發(fā)到數(shù)據(jù)分析...詳情>>

2023-10-11 20:16:52
什么是COM和如何使用COM?

一、COMCOM(Component Object Model)是最近WIndows世界中最流行的TLA(three-letter acronym)。一些新技術(shù)的出現(xiàn)都是基于COM的。并且這些技術(shù)文...詳情>>

2023-10-11 20:12:19
python self是什么意思,怎么使用?

一、python self介紹首先明確的是self只有在類的方法中才會(huì)有,獨(dú)立的函數(shù)或方法是不必帶有self的。self在定義類的方法時(shí)是必須有的,雖然在調(diào)...詳情>>

2023-10-11 19:56:23
快速通道