中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Android端代碼染色原理及技術(shù)實(shí)踐

發(fā)布于:2021-03-01 15:49:07

1

1415

0

高德 地圖 Android

導(dǎo)讀

高德地圖開(kāi)放平臺(tái)產(chǎn)品不斷迭代,代碼邏輯越來(lái)越復(fù)雜,現(xiàn)有的測(cè)試流程不能保證完全覆蓋所有業(yè)務(wù)代碼,測(cè)試不到的代碼及分支,會(huì)存在一定的風(fēng)險(xiǎn)。為了保證測(cè)試全面覆蓋,需要引入代碼覆蓋率做為測(cè)試指標(biāo),需要對(duì)SDK代碼進(jìn)行染色,測(cè)試結(jié)束后可生成代碼覆蓋率報(bào)告,作為發(fā)版前的一項(xiàng)重要卡點(diǎn)指標(biāo)。本文小結(jié)了Android端代碼染色原理及技術(shù)實(shí)踐。

JaCoCo工具

JaCoCo有以下優(yōu)點(diǎn):

  • 支持Ant和Gradle打包方式,可以自由切換。

  • 支持離線模式,更貼合SDK的使用場(chǎng)景。

  • JaCoCo文檔比較全面,還在持續(xù)維護(hù),有問(wèn)題便于解決。

JaCoCo主要是通過(guò)ASM技術(shù)對(duì)Java字節(jié)碼進(jìn)行處理和插樁,ASM和Java字節(jié)碼技術(shù)不是本文重點(diǎn),感興趣的朋友可以自行了解。下面重點(diǎn)介紹JaCoCo的插樁原理。

 

Jacoco探針

由于Java字節(jié)碼是線性的指令序列,所以JaCoCo主要是利用ASM處理字節(jié)碼,在需要的地方插入一些特殊代碼。

我們通過(guò)Test1方法觀察一下JaCoCo做的處理。