替你的 Coroutine 加上測試

By Andy Lu

議題

替你的 Coroutine 加上測試

AU [[ new Date( '2023-07-29 02:50:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 02:50:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 03:20:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

單元測試能夠讓你的程式碼變得更強健,但是在非同步任務的範疇內,測試變得不太容易,因為任務會在不同的 Thread/Coroutine 上運行,而任務完成的時間可能會不一,根據不同的完成時間,可能會產生不同的測試結果。

那麼要如何測試 Kotlin Coroutine 呢?

Kotlin Coroutine 函式庫內包含了 kotlinx-coroutine-test 類,在這裡面包含了許多針對 Kotlin Coroutine 所提供的方法。利用這些方法,我們就可以寫出簡單、易懂的 Coroutine 單元測試。

講者

Andy Lu

Andy Lu

Android 開發者,Kotlin 讀書會志工。 專長 Kotlin 以及 Flutter,喜愛學習以及分享。 ⟪Kotlin 小宇宙 - 使用 Coroutine 優雅的執行非同步任務⟫ 作者

JVM United JVM 聯合國 AHEXJF general (30mins)