java cobertura打桩代码覆盖.

java cobertura打桩代码覆盖.

本来打算,通过打桩方式实现代码覆盖率的测试.

Jcoverage
停止更新避源了.

cobertura
是jcoveage的分支.
内部原理是通过ASM 在编译的时候代码插入.

我的想法,是通过他插入代码,然后测试好知道代码路径. 这个案例,路径了那些代码.
专业工具有这个功能,基本也是插入桩,然后分析.
我想通过ruby 来实现一个.java 代码分析和插入桩,然后取日志分析.  for java

需要maven 构建
https://github.com/cobertura/cobertura
http://repo1.maven.org/maven2/net/sourceforge/cobertura/cobertura/2.1.1/

二 命令行模式
参考官方文档:http://cobertura.sourceforge.net/commandlinereference.html
1 插桩
cobertura-instrument.sh  [ CODE_SOURCE_DIR | *.jar]  --datafile=*.ser  会直接替换原有的class文件
2 合并
cobertura-merge.sh --datafile cobertura.ser 1.ser 2.ser… 合并到第一个文件中
3 产生报告
cobertura-report.sh --datafile *.ser --destination DIR --basedir SOURCE_CODE 生成报告文件到某个目录,默认为html
--format xml : 报告生成xml文件
-Dnet.sourceforge.cobertura.datafile=${basedir}/cobertura.ser
指定生成的覆盖率文件生成的路径


----这方面资料特别少.


参考:


https://www.cs.drexel.edu/~jhk39/teaching/cs576su06/UnitTestingToolsPrimer.pdf

使用cobertura检测测试覆盖率

http://blog.csdn.net/lengyue_wy/article/details/6735269

Cobertura使用代码覆盖率学习笔记
http://wenku.baidu.com/view/c206c8e9b8f67c1cfad6b8ea.html

http://kang.iteye.com/blog/276113
http://blog.sina.com.cn/s/blog_7716c4b50100vlvx.html

Code Coverage Analysis  ---很好的文章
http://www.bullseye.com/coverage.html



你可能感兴趣的:(java cobertura打桩代码覆盖.)