-1

我在 Visual Studio 中有一个奇怪的覆盖结果:它显示为 if 语句没有被覆盖,但因为我们确实进入了该块,所以它一定是。为什么这些结果是错误的?(这些结果涵盖了许多条件下的多次运行)

截屏

4

1 回答 1

1

我怀疑您看到的是分支覆盖率,因为没有测试所有可能导致每条路径下降的组合。逻辑 AND ( && ) 允许提前转义,即它仅在第一个为真时评估第二个运算符。

例如

if (bool.TryParse(savePrep, out save) && save)

有3种可能

  1. savePrep = "真"
  2. savePrep = "假"
  3. savePrep = "既非真也非假"

你可能只锻炼了#1和#2

于 2013-01-14T02:23:11.423 回答