2016-01-05 67 views
8

我有一個Swift函數,Xcode在代碼覆蓋範圍內顯示0遍。該行是一個右大括號(下面以紅色突出顯示)。爲什麼沒有代碼覆蓋的右大括號?

這是在Xcode中的錯誤?如果不是,我需要打什麼條件才能運行該線?我以爲我正在通過這種方法覆蓋所有路徑。

Code with un-covered line

+0

有沒有想過一種方法來消除這個Xcode問題? –

+0

@AdamJohns我最近還沒有看到它發生 - 但我一直沒有在這個代碼工作。你仍然看到它與Xcode 8? – Dov

回答

0

xcode的報告包括用於結束括號,這是不希望的通常測量。沒有什麼可以在配置中解決這個問題(據我所知)。

(FD我在Codecov工作)您可以使用Codecov,託管解決方案,將自動刪除這些額外的行。通過https://github.com/codecov/example-xcode瞭解更多信息。謝謝:)

+3

但是爲什麼這不是到處發生?我的大部分課程和功能都覆蓋在100% – Dov

+2

很好的問題,很遺憾我沒有答案。 –

+0

我對此也很好奇。 – JerryZhou

0

很肯定這是Xcode的代碼覆蓋率的一個bug(功能?)。這個問題歸結爲返回語句不允許它落到空else語句,從而表明代碼沒有執行。返回語句會對他們正在執行的代碼行數進行統計。

在你的try/catch塊的情況下,你真的沒有太多的選擇,以防止有空執行。

作爲一個實驗,去掉return語句,並找到更好的方式來捕捉writeToURL聲明,因此不會在錯誤/ catch語句執行。這可能會給你乾淨的代碼覆蓋該行。

相關問題