1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. JAVA覆蓋率工具EMMA介紹

        時間:2020-08-07 15:02:56 JAVA認證 我要投稿

        JAVA覆蓋率工具EMMA介紹

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

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

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

          插樁

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

          參數(shù)介紹:

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

          -m:輸出模式

          overwrite:重新jar包,anrs.jar

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

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

          -merge:合并。

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

          no。不合并兩次插樁信息

          -ix:指定需要插樁的class

          +com.*: + 指包含

          -com.*:-指排除

          運行

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

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

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

          這個參數(shù)需要加在程序啟動命令里

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

          my.properties format: tag=value

          收集

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

          1. 程序退出,自動收集,在當(dāng)前運行目錄下生成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

          參數(shù)介紹

          -r: report type:html,txt,xml

          -sp: sourcecode path

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

        【JAVA覆蓋率工具EMMA介紹】相關(guān)文章:

        JAVA覆蓋率工具EMMA詳細解析201605-14

        Java程序員使用大數(shù)據(jù)工具匯總11-11

        Java程序員必備的開發(fā)工具11-12

        java認證考試介紹10-03

        SUN JAVA認證介紹05-13

        Java核心技術(shù)介紹08-22

        Java IDE詳細介紹201610-02

        java認證考試細則介紹10-03

        sun java認證考試介紹10-03

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>