为什么闭括号显示没有代码覆盖?

时间:2016-01-05 22:07:06

标签: xcode unit-testing xcode7 code-coverage

我有一个Swift函数,Xcode在代码覆盖率中显示0次传递。该线是一个右括号(下面以红色突出显示)。

这是Xcode中的错误吗?如果没有,我需要在什么条件下运行该线?我以为我通过这种方法覆盖了所有路径。

Code with un-covered line

2 个答案:

答案 0 :(得分:0)

xcode报告包括结束括号的测量,这通常不是所希望的。在配置中没有什么可以解决这个问题(据我所知)。

(FD我在Codecov工作)您可以使用托管解决方案Codecov,它将自动删除这些额外的行。请访问https://github.com/codecov/example-xcode了解详情。谢谢:))

答案 1 :(得分:0)

很确定这是Xcode代码覆盖率的错误(功能?)。问题归结为return语句不允许它落入空的else语句,从而表明代码没有被执行。返回语句会对他们正在做的任何事情进行调整,以计算代码行。

在try / catch块的实例中,你没有太多选择来阻止空执行。

作为一个实验,删除return语句并找到一种更好的方法来捕获writeToURL语句,这样它就不会在error / catch语句中执行。这可能会为您提供干净的代码覆盖率。