- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在成为一名 TDD 黑客。作为其中的一部分,我认为像 Cobertura 生成的代码覆盖率报告是一个重要的工具。
但是,我的代码覆盖率有点臃肿,因为以下代码未正确覆盖:
if(logger.isLoggable(Level.INFO)) {
logger.info("blah blah blah");
}
我正在 Jenkins 和 Maven 中运行该报告(不知道这会是一个问题吗?)。 isLoggable(Level.INFO)
(在我的例子中)始终为 true,因此它会输入并记录。我希望能够跳过该部分或能够将 isLoggable(Level.XX)
设置为 true AND false。
有什么想法、提示等吗?也许我忽略了一些事情,一切都非常感激! :)
[编辑]似乎是 Maven cobertura 插件中的一个错误,应该在 2.6 中修复:http://jira.codehaus.org/browse/MCOBERTURA-52但是2.6还没有发布,所以我只能等待......[/编辑]
最佳答案
当您检测类时,您可以忽略某些方法/调用。报告是此后的一个步骤。
对于 ant,这是这样完成的(来自 docs 的示例)。 Maven 可能有相同的选项,但这取决于您使用的 Maven 插件。:
<cobertura-instrument todir="${instrumented.dir}">
<ignore regex="java.util.logging.*" />
<fileset dir="${classes.dir}">
...
</fileset>
</cobertura-instrument>
您只需为要从检测中排除的包设置一个忽略正则表达式,这样它们就不会显示在报告中。
使用 Maven 这应该可以工作:
<instrumentation>
<ignores>
<ignore>java.util.logging.*</ignore>
</ignores>
</instrumentation>
关于java - Cobertura 和 Jenkins 中跳过 Java 日志记录 (isLoggable),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11467511/
当我为我的 android 应用程序编写日志包装器时,我注意到 androids Log.isLoggable 方法有一个奇怪的行为。执行以下代码: final String TAG = "Test"
我目前正在成为一名 TDD 黑客。作为其中的一部分,我认为像 Cobertura 生成的代码覆盖率报告是一个重要的工具。 但是,我的代码覆盖率有点臃肿,因为以下代码未正确覆盖: if(logger.i
当我在使用 apachehttp-client 的 Android 应用程序上运行 JUnit 测试时,出现以下错误。该应用程序在我的测试设备和模拟器上成功运行。登录 JUnit 测试也通过了,但是只
更新:重新制定问题和标题: 我一直认为昂贵的 android Logging 方法可以通过像这样询问日志记录是否处于 Activity 状态来优化 import android.util.Lo
我是一名优秀的程序员,十分优秀!