为XCTest模拟较低的操作系统版本

时间:2018-02-13 18:26:29

标签: ios swift xcode macos xctest

我目前通过Swift Package Manager设置了一套测试,可以在我当前的操作系统(MacOS 10.13)上执行。

我正在使用一些仅在此版本上可用的框架,如果操作系统版本较低,我使用不同的方法(仍然可用 - 不予弃用):

if #available(iOS 11, macOS 10.13, *){
    //Use new methods
} else {
    //Use old methods
}

我的问题是 - 在我的测试中,我如何模拟较低版本的macOS,以便我可以测试在另一个块中执行的代码?

我明白我可以这个if语句调用两个单独的函数,我可以单独测试,我只是好奇是否有更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以在运行测试之前选择旧的模拟器。在设备选择器上。

enter image description here

如果您没有旧的模拟器,则可以下载并安装一个表单设备管理器。