OCMVerify /期待在Swift中?

我想validation一个预期的方法在unit testing中用Swift中的正确参数调用。 这在Objective-C中使用OCMock框架很容易完成。 您可以执行partialMocking和运行OCMExpect / Verify的组合来调用代码path,并调用正确的参数。 任何想法如何在Swift中做这样的事情?

Swift不支持reflection,所以传统的嘲讽库是不可行的。 相反,你需要创build自己的模拟。 至less有两种方法可以做到这一点。

  1. 创build一个testing类的testing子类。 这是部分嘲弄。 如果可能,避免这种情况。
  2. 使用接口而不是类。 创build接口的testing实现。

手工制作的嘲讽不难。 你想要

  • 统计一个方法的调用次数
  • 捕捉它的论点
  • 模拟其返回值

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