gpt4 book ai didi

ios - 是否可以使用 OCMock 验证类内行为

转载 作者:行者123 更新时间:2023-11-29 00:51:15 25 4
gpt4 key购买 nike

给定这个简单的类

@implementation ExampleClass

- (void)doStuff
{
[self doOtherStuff];
}

- (void)doOtherStuff
{
// something happens here
}

@end

是否可以测试该类的一个方法调用另一个方法的行为?例如,在上面的示例中,我可以使用 OCMock 来验证调用了 doOtherStuff 吗?我尝试了以下方法:

id mock = OCMClassMock([ExampleClass class]);
[mock doStuff];
OCMVerify([mock doOtherStuff]);

但由于它是类模拟,它实际上根本不会调用对 doStuff 的调用。这是否只有部分模拟才有可能——如果是这样,ExampleClass 的另一种设计是不需要部分模拟的?请耐心等待 - 单元测试和模拟的新手 :)

最佳答案

这就是部分模拟的用途。创建 ExampleClass 的实例,然后为该实例创建部分模拟。使用该部分模拟,您现在可以在该实例上验证和/或 stub 方法,例如验证是否调用了 doOtherStuff

关于ios - 是否可以使用 OCMock 验证类内行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38131666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com