我一直在尝试获取我执行的测试用例在分支上采用的条件。例如,这是我从 Gcov 获得的覆盖信息的片段gcov -b
(我也使用-i
选项来提高可读性):
lcount:10,1
branch:10,nottaken
branch:10,taken
在检查了一些样本之后,似乎真实条件总是首先写在每个分支信息上。这意味着我可以确定执行的测试用例是采用分支的真部分还是假部分。在这种情况下,测试用例在第 10 行取了分支的错误部分。
现在,这是 Gcovr 生成的 xml--branches
以及--xml
相同程序和测试用例的片段:
<line branch="true" condition-coverage="50% (1/2)" hits="1" number="10">
<conditions>
<condition coverage="50%" number="0" type="jump"/>
</conditions>
</line>
在这里,我无法弄清楚分支的哪一部分被占用了。
我可以使用 Gcovr 上的任何选项吗?