如何使用XCTest的#available语句覆盖函数的所有分支

问题描述

我有一个带有#available语句的函数,并希望使用XCTest进行单元测试来覆盖所有分支。有可能吗?

func foo() -> String {
    if #available(iOS 13,*) {
        // Compute something using new iOS 13 API
    } else {
        // Compute it the old way
    }
}

解决方法

运行测试时,您可以选择安装了所需操作系统的其他目标模拟器