發(fā)文章
發(fā)文工具
撰寫
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
Yvan
讀完需要
速讀僅需 1 分鐘
1
why
面試可能會問到,Jacoco 的原理是什么呢,可以簡述一下嗎?一個優(yōu)秀的測試工程師,應(yīng)該熟悉常用工具的優(yōu)缺點,適用環(huán)境及其原理。
面試可能會問到,Jacoco 的原理是什么呢,可以簡述一下嗎?
一個優(yōu)秀的測試工程師,應(yīng)該熟悉常用工具的優(yōu)缺點,適用環(huán)境及其原理。
2
what
Jacoco 原理
3
how
原理圖,標(biāo)注為Jacoco特色功能:
JaCoCo 在 Byte Code 時使用的 ASM 技術(shù)修改字節(jié)碼方法,可以修改 Jar 文件、class 文件字節(jié)碼文件
on-the-fly:JVM 通過-javaagent 參數(shù)指定 jar 文件啟動 Instrumentation 注入的代理程序,并在 Class Loader 裝載前將統(tǒng)計代碼插入 class,覆蓋率分析可以在運行測試中完成offline:測試前先插樁,然后生成插樁后的 class 或 jar 包,測試此 class 和 jar 包,會生成覆蓋率分析信息,并生成報告
on-the-fly:JVM 通過-javaagent 參數(shù)指定 jar 文件啟動 Instrumentation 注入的代理程序,并在 Class Loader 裝載前將統(tǒng)計代碼插入 class,覆蓋率分析可以在運行測試中完成
offline:測試前先插樁,然后生成插樁后的 class 或 jar 包,測試此 class 和 jar 包,會生成覆蓋率分析信息,并生成報告
字節(jié)碼注入
JaCoCo 是根據(jù)控制流 Type 來采用不同的探針插入策略的
具體插入策略如圖:
注意:探針實際為布爾數(shù)組。
4
how good
JaCoCo 優(yōu)勢:
支持分支覆蓋、Agent 模式社區(qū)活躍,不斷維護(hù)更新
支持分支覆蓋、Agent 模式
社區(qū)活躍,不斷維護(hù)更新
On-the-fly 優(yōu)劣:
方便簡單,無需提前字節(jié)碼插樁,無需考慮 classpath 的設(shè)置需要更多資源,需要 1.5JVM
方便簡單,無需提前字節(jié)碼插樁,無需考慮 classpath 的設(shè)置
需要更多資源,需要 1.5JVM
來自: 香光莊 > 《學(xué)習(xí)·教育·技能》
0條評論
發(fā)表
請遵守用戶 評論公約
【騰訊TMQ】JAVA代碼覆蓋率工具JaCoCo
【騰訊TMQ】JAVA代碼覆蓋率工具JaCoCo.市場上java主要代碼覆蓋率工具:EMMA、JaCoCo.JaCoCo是一個開源的覆蓋率工具(官網(wǎng)地址:http://ww...
JaCoCo增量覆蓋率的基本實現(xiàn)原理
JaCoCo增量覆蓋率的基本實現(xiàn)原理什么是增量覆蓋率。增量覆蓋率是針對增量代碼來計算的,也就是增量覆蓋率=執(zhí)行代碼行數(shù)/增量代碼行數(shù)。...
Findjar—JAR 文件搜索引擎
findjar是一個JAR 文件搜索引擎,通過findjar可以搜索與下載jar文件以及class文件。JAR是一種把許多文件聚合到一個文件的與平臺無關(guān)一種文件格式。許多個用Java編寫的applet以及它們所需要的組件(.cla...
Eclipse查看jar中的class文件注釋出現(xiàn)亂碼
Eclipse查看jar中的class文件注釋出現(xiàn)亂碼。如下圖所示,在打開RuntimeContext.class文件時,里面的注釋出現(xiàn)亂碼。解決問題如下:
如何將class文件打包成jar 這里提供兩種方式!
如何將class文件打包成jar文件,這是一個很嚴(yán)肅的問題,當(dāng)你在在使用webservice的saop協(xié)議的時候,很多地方不免需要用到遠(yuǎn)程jar包,這些...
實驗五
實驗題目:制作jar文件及輸入輸出練習(xí)。實驗?zāi)康模菏炀氄莆誮ar命令的用法。(一)普通jar文件的打包。(2)用jar命令把編譯后的Person.class和Student.class文件打包成a.jar.(二)制作可執(zhí)行的jar文件...
用Maven快速生成帶有依賴的可執(zhí)行jar包
用Maven快速生成帶有依賴的可執(zhí)行jar包。我們可以通過修改maven 打jar包的maven-jar-plugin插件的配置信息來生成我們需要的指定依賴的可...
robotium測試工程打包與簽名
一、打包資源文件,生成R.java文件【輸入】Resource文件(工程中res中的文件)、Assets文件(另外一種資源)、AndroidManifest.xml文件、Android基礎(chǔ)類庫(Android.jar文件)【輸出】打包好的資源(And...
Java反編譯_class爆破與javaagent
Java反編譯_class爆破與javaagent.重新打包jar包就是個zip文件,爆破class文件之后,直接使用7zip壓縮成zip文件,只要保證目錄結(jié)構(gòu)正確...
微信掃碼,在手機(jī)上查看選中內(nèi)容