【问题标题】:How to change date and time on simulator when using XCUITest使用 XCUITest 时如何更改模拟器上的日期和时间
【发布时间】:2021-01-27 17:41:27
【问题描述】:

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

【问题讨论】:

  • 如果您使用单元测试会更容易,因为您可以轻松地在代码中添加更改使用日期的方法。你能把这些测试改成单元测试吗?

标签: swift ios-simulator xcuitest


【解决方案1】:

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

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

并根据您的测试模拟 currentDate() 函数。

【讨论】:

  • 当有对应的原生 swift 类型时,请避免使用 NS... 类型。为什么返回类型被强制解包?
猜你喜欢
  • 1970-01-01
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
  • 2011-02-07
相关资源
最近更新 更多