如何开始编写代码覆盖率工具?[已关闭]

2022-09-01 12:14:20

寻找真正讨论如何在Java中编写代码覆盖率工具的书籍或其他参考资料;一些各种技术或技巧 - 源码与字节码检测。

这适用于在后台生成 Java 字节代码的脚本语言。


答案 1

您的脚本语言会生成字节码吗?它是否生成调试元数据?如果是这样,字节码检测可能是要走的路。事实上,现有的工具可能会工作(也许只需要最少的修改)。

此类工具的典型问题是,它们被编写为与Java一起使用,并假设a对应于文件。解开这种假设可能很乏味。class com.foo.Bar.classcom/foo/Bar.java

EMMA 是一个 ClassLoader,它为 Java 中的代码覆盖率收集进行字节代码重写。编码风格有点时髦,但我建议阅读源代码以获得一些想法。

如果您的脚本语言是解释的,那么您将需要一个更高级别的类加载器(在源代码级别)连接到解释器。


答案 2

您还可以从开源代码覆盖率工具中获取源代码并从中学习。