首页 > 解决方案 > 为什么更新到 xcode 13 后代码覆盖率会降低?

问题描述

我更新到 Xcode 13 并注意到覆盖率报告没有考虑某些行,例如guard??运算符,花括号......

前任: 在此处输入图像描述

它使整体覆盖范围减少了很多而没有改变。有人面临这个问题吗?有解决办法吗?

标签: iosswiftcode-coveragetest-coveragexcode13

解决方案


我可以确认您描述的行为。

在 Xcode 12.5.1 中:

在此处输入图像描述

它正确地表明这两种方法都只有部分覆盖(当然,当您只测试一个执行路径时)。

但是 Xcode 13.0 建议没有覆盖该nil合并场景,即使它确实被部分覆盖:

在此处输入图像描述

显然,应该尝试测试这两种情况以确保完全覆盖(此时 Xcode 13 将正确地指出这一点),但这似乎是呈现部分覆盖的错误,在某些情况下,在 Xcode 13.0 中。


推荐阅读