我一直在尝试为我的 android 测试项目生成 android 代码覆盖率,该项目测试包含外部 jar 的 android 项目。当我运行命令时
ant emma install debug test
它仅显示了 android 项目的覆盖范围,但不包括外部 jar 的包和功能。
根据我的研究,我发现应该做一些改变ant.properties
文件和emma report tag
in build.xml
.
任何建议都是非常受欢迎的。
[Edit]
在进一步的研究中,我浏览了一个博客,上面写着输入变量
tested.android.library.source.dir="path to external jars" in ant.properties
并且应在报告源路径中添加相同的变量,如下所示
<emma>
<report sourcepath="${tested.project.source.absolute.dir}:${tested.project.lib.source.path.value}:${tested.android.library.source.dir}" verbosity="${verbosity}">
<!-- TODO: report.dir or something like should be introduced if necessary -->
<infileset file="${out.absolute.dir}/coverage.ec" />
<infileset file="${tested.project.out.absolute.dir}/coverage.em" />
<!-- TODO: reports in other, indicated by user formats -->
<html outfile="${out.absolute.dir}/coverage.html" />
</report>
</emma>
但覆盖范围仍然没有显示外部 jar 的功能和包。
我想知道我的 jar 不在 android 测试项目中,而是在测试的 android 项目中。那么如何为这些外部 jar 提供路径ant.properties
的测试项目。
我也从很长一段时间以来就在做同样的工作。
参考图书馆项目的代码覆盖率报告 http://code.google.com/p/android/issues/detail?id=32421
ADT-r20 中支持外部 jar 覆盖。
我只能指出我正在努力的方向。
我正在修改 ant 内的 build.xml :
<!-- This is macro that enable passing variable list of external jar files to ApkBuilder
Example of use:
<package-helper>
<extra-jars>
<jarfolder path="my_jars" />
<jarfile path="foo/bar.jar" />
<jarfolder path="your_jars" />
</extra-jars>
</package-helper> -->
<macrodef name="package-helper">
<element name="extra-jars" optional="yes" />
<sequential>
<apkbuilder
outfolder="${out.absolute.dir}"
resourcefile="${resource.package.file.name}"
apkfilepath="${out.packaged.file}"
debugpackaging="${build.is.packaging.debug}"
debugsigning="${build.is.signing.debug}"
verbose="${verbose}"
hascode="${manifest.hasCode}"
previousBuildType="${build.last.is.packaging.debug}/${build.last.is.signing.debug}"
buildType="${build.is.packaging.debug}/${build.is.signing.debug}">
<dex path="${intermediate.dex.file}"/>
<sourcefolder path="${source.absolute.dir}"/>
<jarfile refid="project.all.jars.path" />
<nativefolder path="${native.libs.absolute.dir}" />
<nativefolder refid="project.library.native.folder.path" />
<extra-jars/>
</apkbuilder>
</sequential>
</macrodef>
到目前为止我还没有运气。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)