我有一段带有三个布尔值的代码,通过“&&”连接,如下所示:
bool1 && bool2 && bool3
在测试期间,我对此进行了调试,发现每个布尔值在所有测试期间都有一个真或假状态,所以我会充分考虑这一点测试。
但是,eclemma 显示,6 个分支中有 1 个没有被覆盖。
正如我现在发现的那样,不可能显示哪个分支 eclemma 意味着(不幸的是),但我还想知道,eclemma 如何达到 6 个分支?
从我可以看到有两种可能性:
1.使用代码优化,因此在达到第一个“假”后停止对该表达式的评估,在这种情况下,我会找到 4 个总状态:
- true - true - true
2. 不要使用代码优化,所以在这种情况下,我认为可以测试三个布尔值的所有 8 种不同状态(2 * 2 * 2 = 8)。
任何人都可以帮助我吗,为什么 eclemma 数到 6 以及我可以做些什么来达到 100% 的测试覆盖率?