使用 XCUITest 时如何在模拟器上更改日期和时间

How to change date and time on simulator when using XCUITest

我需要自动执行一些 UI 测试,并且我必须声明一些结果,这些结果只有在将模拟器上的日期更改为未来几天时才会出现。 有谁知道无需更改 mac 上的日期或不使用 xcodebuild 命令行即可在模拟器上执行此操作的任何方法?我需要能够在每次使用不同值的测试期间多次更改日期。

在您的应用程序上测试它的唯一方法是创建一个 Date 包装器

class DateWrapper {
   func currentDate() -> Date {
      return Date()
   }
}

并根据您的测试模拟 currentDate() 功能。