繁体   English   中英

如何在不使用 OCMock 的情况下模拟局部变量

[英]How to Mock local variable without using OCMock

我正在使用苹果提供的 XCTest 框架编写测试用例。 我想出了我想模拟在函数内部分配的局部变量的情况,如下所示

-(void)myFunction{
   A* a = [[A alloc] init];
}

从我的测试用例类中,我想在我的函数testMyFunction模拟 A 类。 有没有办法不使用OCMock来做到这一点。

如果可以先创建实例,然后使用正常的依赖注入技术注入它。

但是,如果您需要确保在需要之前不会创建实例,您有几个选择:

  • 正如@dasdom 所说,注入一个类。 然后在需要时调用它的初始化程序。
  • 注入一个充当工厂的块。 需要时调用它。
  • 对于更复杂的初始化:注入一个工厂。 我通常会使其符合协议,以明确替换。

您可以将要在方法中使用的类注入到被测系统中。 在测试中,您可以使用不同的类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM