I have a simple typescript prototype project where I’m generating an lcov.info file with nyc and then using sonarcloud-github-action to upload the results. This is what my lcov.info looks like:
TN:
SF:src/Button.tsx
FN:14,(anonymous_0)
FNF:1
FNH:1
FNDA:1,(anonymous_0)
DA:4,1
DA:14,1
DA:19,1
LF:3
LH:3
BRF:0
BRH:0
end_of_record
TN:
SF:src/List.tsx
FN:12,(anonymous_0)
FNF:1
FNH:1
FNDA:1,(anonymous_0)
DA:4,1
DA:12,1
DA:13,1
LF:3
LH:3
BRF:0
BRH:0
end_of_record
TN:
SF:src/index.tsx
FN:7,(anonymous_0)
FN:8,(anonymous_1)
FN:9,(anonymous_2)
FN:12,(anonymous_3)
FNF:4
FNH:2
FNDA:1,(anonymous_0)
FNDA:1,(anonymous_1)
FNDA:0,(anonymous_2)
FNDA:0,(anonymous_3)
DA:7,1
DA:8,1
DA:9,1
DA:12,1
DA:14,1
DA:26,1
LF:6
LH:6
BRF:0
BRH:0
end_of_record
I can see in the file that in src/index.tsx, 2 of the functions were never invoked when my tests ran, yet when sonarcloud consumes it, it shows that my coverage is 100% for for src/index.tsx. I would expect the coverage to be lower than 100%.
If I delete the file, the test coverage drops to 0%, so I know it’s being used somehow.
I’m not really sure how to debug this. Any help would be greatly appreciated.