4

从过去 1 个月开始,我一直在尝试推断我的 Android 项目的代码覆盖率报告,其中包括外部罐子。(我在 ADT20 上运行)。每当我跑步

蚂蚁艾玛调试安装测试

它显示了我的 Android 项目的 100% 覆盖率,但覆盖率报告不包含我的外部 Jar 的包和类。任何人都可以通过 emma ant build 或任何 Android 代码覆盖率工具帮助我获得 External Jars 中的包和类的覆盖率报告,这可以完成我的工作。

谢谢

4

1 回答 1

2

最新的 SDK 通过将 emma 放在构建前面来使用 emma:

ant emma debug install
ant emma debug install test

第一个是从您的项目主管运行,第二个是测试目录。这样做将生成完整的覆盖率报告。

有关更多信息,请参阅此链接

ADT r20-preview 通过允许访问测试项目及其库项目的完整类路径来解决此问题:

http://tools.android.com/download/adt-20-preview

这将为您提供有关库项目的代码覆盖率报告,但您必须对 build.xml 的测试目标进行一些修改以附加源文件。

有关如何暂时为您的库项目合并 emma 测试覆盖率的更多信息,请参阅此将 Android 库项目源代码附加到 Emma 报告(ant,emma)。

示例-build.xml:

<emma>
                <!-- Grantland: Attach Android library project sources to the emma report -->
                <report sourcepath="${tested.project.absolute.dir}/${source.dir};${tested.android.library.source.dir}"
                                  verbosity="${verbosity}">
                <!-- <report sourcepath="${tested.project.absolute.dir}/${source.dir}"
                                  verbosity="${verbosity}"> -->
                    <!-- TODO: report.dir or something like should be introduced if necessary -->
                    <infileset dir=".">
                        <include name="coverage.ec" />
                        <include name="coverage.em" />
                    </infileset>
                    <!-- TODO: reports in other, indicated by user formats -->
                    <html outfile="coverage.html" />
               </report>
            </emma>

蚂蚁属性:

这可以是分号分隔的目录列表

tested.android.library.source.dir=../library/src;etc
于 2012-12-05T04:31:50.697 回答