Coverage of trailing End If/End Try Statements
Coverage of trailing End If/End Try Statements
I have started using NCover with NUnit to develop and unit tests for some of my personal apps. Getting 100% coverage on modules is convenient, because it tells me at a glance I haven't missed anything too obvious. I've noticed 2 cases where I don't seem to get 100% coverage, but all 'real' executable lines execute.
One case is:
Public Function Test(Value as Boolean) as Boolean
    If Value Then
        Return True
    Else
        Return False
    End If
End Function
From what I can see, the 'End If' is always tagged as not executed and you cannot get 100% coverage of this code. You could rewrite it to something logically equivalent such as the following to get 100% coverage:
Public Function Test(Value as Boolean) as Boolean
    If Value Then
        Return True
    End If
    Return False
End Function
A similar case exists with Try/Catch, but I haven't found a solution for that one yet to get 100%.
Is this design-intent for NCover? Is this good coding practice, or is there a reason not to write the code as above? I know if I put the first example in Eclipse in Java I get a compiler warning, but I don't understand why.
Any help appreciated,
Geoff Hart
