Unit test with async functions

iOS Unit test

在寫 Unit test 的時候,有時候會遇到要測試的 function 是 async 的,

但在 Unit test 的 function 之中,它本身就是走單一 thread 來決定測試結果;

若沒有多做其他處理,closure 或是其他 thread 做的事情,便不會反應到結果上。

所以我們需要告知 Unit test,要等待一下我們要測的內容。

建立一個 expectation,並在 closure 裏頭執行一些測試結果判斷,

判斷完後,補上 exp.fulfill() 來告知 waitForExpectations 可以結束等待。

這樣就可以做 async functions 的 Unit test 了~

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s