logger.isDebugEnabled() is killing my code coverage. I'm planning to exclude it while running cobertura
Asked Answered
A

1

0

I tried by adding in org.slf4j.* in cobertura.exclude. but there is no use.
my buildfile

require 'buildr/java/cobertura'
require 'buildr/scala'
require 'buildr/myProject'
.....
.....
compile.options.other = %w(-encoding UTF-8)
cobertura.exclude= 'org.slf4j.*'
.....
.....

Please suggest how to proceed.

Thank you in advance

Allemande answered 26/2, 2014 at 16:34 Comment(0)
R
0

The issue is that cobertura.exclude is to exclude files/classes in your project from being instrumented.

What you want to use is cobertura.ignore, e.g.,

cobertura.ignore 'java.util.logging.*'

which accepts a regular expression of class/method name to ignore.

From the Ant task documentation at https://github.com/cobertura/cobertura/wiki/Ant-Task-Reference:

You can tell Cobertura to ignore certain classes by passing in "ignore" regular expressions. The ignore pattern can be any valid perl 5 regular expression. This will ignore any calls to any method that matches the ignore regular expression. It will NOT skip over these classes during instrumention. To exclude classes from being instrumented, either exclude them from your fileset or use the alternative method below and specify an excludeClasses pattern.

Runofthemill answered 26/2, 2014 at 18:32 Comment(1)
is there similar alternative for jacoco. I tried to exclude log4j classes in jacoco filter but no luck.Neilneila

© 2022 - 2024 — McMap. All rights reserved.