I am writing an autograder and will need to be able to measure the coverage 
of tests provided by a student. To use the  JaCoCo Java API, I am working 
with the provided CoreTutorial 
<https://github.com/jacoco/jacoco/blob/master/org.jacoco.examples/src/org/jacoco/examples/CoreTutorial.java>,
 
which has a Runnable inner class TestTarget, containing two methods: run() 
and isPrime(). The code instruments the class, then calls the  run() method. 
(I'm omitting some details.) It works, reporting partial coverage. This is 
in branch jacoco1 of my repo.

I created another branch jacoco2 that splits TestTarget into two classes: 
ClassUnderTest (which has isPrime()) and TestClass (which has run()).  It 
compilies and runs without throwing any exceptions, but it does not report 
any coverage. The differences 
<https://github.com/espertus/jacquard/compare/jacoco1...jacoco2?diff=split> 
between the two versions are minimal. (The reason I put them in different 
branches is so it is easy to see the diff 
<https://github.com/espertus/jacquard/compare/jacoco1...jacoco2?diff=split> 
on GitHub.)

Could anyone tell me what I am doing wrong and how to correctly adapt 
CoreTutorial to involve multiple classes, where one calls the other?

I've appended additional the output of each program.

Thank you.

Ellen

*Output of run on jacoco1 (original CoreTutorial)*

Coverage of class com/spertus/jacquard/coverage/CoreTutorial$TestTarget
2 of 25 instructions missed
1 of 4 branches missed
1 of 7 lines missed
0 of 3 methods missed
1 of 5 complexity missed
Line 40: green
Line 41: 
Line 42: 
Line 43: green
Line 44: green
Line 45: 
Line 46: 
Line 47: green
Line 48: yellow
Line 49: red
Line 50: 
Line 51: 
Line 52: green

*Output of run on jacoco2 (split CoreTutorial)*

Coverage of class com/spertus/jacquard/coverage/CoreTutorial$ClassUnderTest
20 of 20 instructions missed
4 of 4 branches missed
5 of 5 lines missed
2 of 2 methods missed
4 of 4 complexity missed
Line 53: red
Line 54: 
Line 55: red
Line 56: red
Line 57: red
Line 58: 
Line 59: 
Line 60: red

-- 
You received this message because you are subscribed to the Google Groups 
"JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jacoco/4505015c-e5e9-4ea0-b04e-efb58fc90111n%40googlegroups.com.

Reply via email to