We have been running coverage using the v2.0.3-3 of code-coverage plugin on Grails 2.4.4.
Consider a simple controller code like below:
class TestController {
def index() {}
}
And a simple spock test for the same as below:
@TestFor(TestController)
class TestControllerSpec extends Specification {
def "test index"() {
when:
controller.index()
then:
response != null
}
}
The coverage report getting generated is as below:
<class name="package.TestController" filename="package/TestController.groovy" line-rate="1.0" branch-rate="0.1" complexity="0.0">
<methods>
<method name="index" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="0.1">
<lines>
<line number="8" hits="1" branch="true" condition-coverage="10% (1/10)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
<condition number="1" type="jump" coverage="0%"/>
<condition number="2" type="jump" coverage="0%"/>
<condition number="3" type="jump" coverage="0%"/>
<condition number="4" type="jump" coverage="0%"/>
</conditions>
</line>
</lines>
</method>
</methods>
<lines>
<line number="8" hits="1" branch="true" condition-coverage="10% (1/10)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
<condition number="1" type="jump" coverage="0%"/>
<condition number="2" type="jump" coverage="0%"/>
<condition number="3" type="jump" coverage="0%"/>
<condition number="4" type="jump" coverage="0%"/>
</conditions>
</line>
</lines>
</class>
Why is it reported as 1/10 conditions are only covered?
NOTE: I have used the DisableOptimizationsTransformation-0.1-SNAPSHOT.jar as mentioned in here: Grails / Cobertura report - conditional coverage doesn't make sense