Thursday, June 10, 2021

How to Test Swift async/await Code With XCTest

Giovanni Lodi:

Because async/await is a feature at the Swift language level, to test an async function we can use the same approach we’d use to consume that code in production: call it with await.


To appreciate how neater this is than the approach we used before the introduction of async await, let me show you the same test but for a chopVegetables version using callbacks and Result.


Unfortunately the XCTAssertThrowsError and the other assertion APIs don’t support concurrency yet, so do catch is the only option to test the error path of async code.

Comments RSS · Twitter

Leave a Comment