我有一個Swift函數,Xcode在代碼覆蓋範圍內顯示0遍。該行是一個右大括號(下面以紅色突出顯示)。爲什麼沒有代碼覆蓋的右大括號?
這是在Xcode中的錯誤?如果不是,我需要打什麼條件才能運行該線?我以爲我正在通過這種方法覆蓋所有路徑。
我有一個Swift函數,Xcode在代碼覆蓋範圍內顯示0遍。該行是一個右大括號(下面以紅色突出顯示)。爲什麼沒有代碼覆蓋的右大括號?
這是在Xcode中的錯誤?如果不是,我需要打什麼條件才能運行該線?我以爲我正在通過這種方法覆蓋所有路徑。
xcode的報告包括用於結束括號,這是不希望的通常測量。沒有什麼可以在配置中解決這個問題(據我所知)。
(FD我在Codecov工作)您可以使用Codecov,託管解決方案,將自動刪除這些額外的行。通過https://github.com/codecov/example-xcode瞭解更多信息。謝謝:)
很肯定這是Xcode的代碼覆蓋率的一個bug(功能?)。這個問題歸結爲返回語句不允許它落到空else語句,從而表明代碼沒有執行。返回語句會對他們正在執行的代碼行數進行統計。
在你的try/catch塊的情況下,你真的沒有太多的選擇,以防止有空執行。
作爲一個實驗,去掉return語句,並找到更好的方式來捕捉writeToURL聲明,因此不會在錯誤/ catch語句執行。這可能會給你乾淨的代碼覆蓋該行。
有沒有想過一種方法來消除這個Xcode問題? –
@AdamJohns我最近還沒有看到它發生 - 但我一直沒有在這個代碼工作。你仍然看到它與Xcode 8? – Dov