OCMVerify/Expect 在 Swift 中?

OCMVerify/Expect in Swift?

我想验证在单元测试中 Swift 中是否使用正确的参数调用了预期的方法。这在 Objective-C 中使用 OCMock 框架很容易完成。您可以结合使用 partialMocking 和 运行 OCMExpect/Verify 来断言调用具有正确参数的代码路径。知道如何在 Swift 中做这样的事情吗?

Swift 不支持反射,因此传统的模拟库不可行。相反,您需要创建自己的模拟。至少有两种方法可以做到这一点。

  1. 创建 class 测试中的测试子 class。这是部分嘲笑。尽可能避免这种情况。
  2. 使用界面而不是 class。创建接口的测试实现。

手工制作的模型并不难。你想

  • 计算方法的调用次数
  • 捕获它的参数
  • 模拟其return值

这是很多样板文件。那里有可以自动生成此代码的库。