<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            JAVA覆蓋率工具EMMA介紹

            時間:2024-10-01 20:55:20 JAVA認證 我要投稿
            • 相關推薦

            JAVA覆蓋率工具EMMA介紹

              最近在對Java代碼進行單元測試的時候了解到一種針對Java代碼的強大的覆蓋率工具Emma。那么覆蓋率工具Emma是怎么運行的呢?下面跟yjbys小編一起來看看吧!

              首先介紹一下EMMA 是一個開源、面向 Java 程序測試覆蓋率收集和報告工具。它通過對編譯后的 Java 字節碼文件進行插裝,在測試執行過程中收集覆蓋率信息,并通過支持多種報表格式對覆蓋率結果進行展示。EMMA可以統計函數覆蓋、類覆蓋、行覆蓋等,據說最新版支持分支覆蓋。

              查看了一下EMMA的基本原理,大致分為以下步驟:插樁(instr),運行,收集(ctl),報告(report)。

              插樁

              命令行:java emma instr -cp /usr/local//anrs/lib/anrs.jar -m overwrite -ix +com.* -Dmetadata.out.file=test.em

              參數介紹:

              -cp,指定插樁的路徑,多個jar包可以用,分割

              -m:輸出模式

              overwrite:重新jar包,anrs.jar

              default:copy, 需要加上-d參數,指定輸出路徑。有插樁,才cp一份class到指定路徑

              fullcopy:需要加上-d參數,指定輸出路徑。 不管有沒有插樁,都cp一份class到指定路徑

              -merge:合并。

              default:yes。 如果metadata指定輸出的文件一樣,將兩次插樁信息進行合并

              no。不合并兩次插樁信息

              -ix:指定需要插樁的class

              +com.*: + 指包含

              -com.*:-指排除

              運行

              一般情況下,直接運行應用程序即可。EMMA會啟動一個監聽端口,用來后面收集信息(ctl)。這個端口是固定的,47653。

              如果我們的應用是多進程的,就會出現啟動失敗。其實EMMA也提供了一個命令,進行端口設置:-Demma.rt.control.port=39123

              還有host指定,-Demma.rt.control.host=192.168.22.22. default is localhost

              這個參數需要加在程序啟動命令里

              EMMA還有簡單的配置文件:java -Demma.properties=my.properties

              my.properties format: tag=value

              收集

              一般有兩種收集信息方法:

              1. 程序退出,自動收集,在當前運行目錄下生成coverage.ec

              2. 命令行:

              java -cp /usr/jdk/jdk1.6.0_23/jre/lib/ext/emma.jar emma ctl -connect localhost:47653 -command coverage.get,coverage.ec

              報告

              命令行:

              java -cp /usr/jdk/jdk1.6.0_29/jre/lib/ext/emma.jar emma report -r html -in anrs.em coverage.ec –sp src/-Dreport.html.out.file=coverage.html

              參數介紹

              -r: report type:html,txt,xml

              -sp: sourcecode path

              除了命令行方式外,EMMA可以直接在Eclipse中進行使用。

            【JAVA覆蓋率工具EMMA介紹】相關文章:

            Java程序員必備的開發工具09-09

            Java程序員使用大數據工具匯總09-19

            素描工具鉛筆的介紹10-01

            美甲的工具介紹09-06

            SUN JAVA認證介紹08-09

            java認證考試介紹07-31

            繪制工具的介紹及使用技巧08-06

            寵物美容工具介紹201509-23

            手繪漫畫用的工具介紹05-25

            插花藝術常用的工具介紹09-10

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看