- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
从过去 1 个月开始,我一直在尝试推断我的 Android 项目的代码覆盖率报告,其中包括外部 Jar。(我在 ADT20 上运行)。每当我运行时
ant emma debug install test
它显示我的 Android 项目 100% 的覆盖率,但覆盖率报告不包含我的外部 Jar 的包和类。任何人都可以帮助我通过 emma ant build 或任何 Android 代码覆盖率工具获取外部 Jar 中的包和类的覆盖率报告,从而完成我的工作。
谢谢
最佳答案
最新的 SDK 通过将 emma 放在构建的前面来使用 emma:
ant emma debug install
ant emma debug install test
第一个是从您的项目主管运行的,第二个是测试目录。这样做将生成完整的覆盖率报告。
有关更多信息,请参阅此 link
ADT r20-preview 通过提供对测试项目及其库项目的完整类路径的访问权限解决了这个问题:
http://tools.android.com/download/adt-20-preview
这将为您提供有关您的库项目的代码覆盖率报告,但您还必须对 build.xml 的测试目标进行一些修改以附加源文件。
参见 this Attach Android library将项目源代码提交给 Emma 报告(ant、emma),以获取有关如何暂时将 emma 测试覆盖率纳入您的图书馆项目的更多信息。
example-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>
Ant 属性:
这可以是一个以分号分隔的目录列表
tested.android.library.source.dir=../library/src;etc
关于Android 外部 API 覆盖范围不会到来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13716309/
我遇到过 WinAPI 的奇怪行为,在我看来是这样。在我的程序中,我为窗口设置了一个计时器 ::SetTimer(window_handle, timer_id, 10, NULL); 并在我的窗口过
我是一名优秀的程序员,十分优秀!