谁能告诉我dotCover为什么将所附图像中显示的两行标记为未覆盖?
鉴于这是一小类,它将覆盖率降低到非常接近我们的故障率。
我知道没有太多事情要做,但是我们似乎有足够的掩护,我只是想不出为什么它不喜欢这两行。
FWIW,我们使用的是dotCover 2017.1,并且被TeamCity调用
答案 0 :(得分:1)
当代码路径通过时,尾括号通常会被“命中”。看来这没有发生。
看起来在您的测试中queueClient.CompleteAsync可能总是抛出。由于该方法永远无法正常完成,因此不会通过非捕获路径进行任何测试。然后,在捕获中,它总是再次抛出,因此没有测试能够正常退出该方法。因此,跳过了两个大括号。
添加一个不引发queueClient.CompleteAsync的测试。然后,代码路径将包括非抛出路径,并正常退出该方法-然后将覆盖跳过的行。