gpt4 book ai didi

ios - 所有调用的 OCMock stub 类方法

转载 作者:行者123 更新时间:2023-11-29 12:08:35 27 4
gpt4 key购买 nike

我有一个带有一些类方法的 Utility 类。

@interface DataValidator : NSObject

+ (BOOL)foo;

@end

该类的用法在其他类中,例如 NetworkManager、DBHandler 等。并且由于 Utility 类中没有实例方法,因此任何类都不需要创建 Utility 类的实例。相反,他们直接像这样打电话

[Utility foo];

在为 NetworkManager/DBHandler 编写测试时,是否可以模拟 Utility 和 stub foo,以便对它进行的所有调用都返回模拟的响应。

如果我在 NetworkManager 类测试中模拟 Utility 类,NetworkManager 代码仍会调用原始方法而不是 stub 方法。

这仅在我直接从测试内部调用 [Utility foo] 时有效,但这对我的情况没有用。

最佳答案

看起来 OCMock 3 有一种模拟类方法的方法: http://ocmock.org/reference/#mocking-class-methods该页面的示例:

id classMock = OCMClassMock([SomeClass class]);
OCMStub([classMock aClassMethod]).andReturn(@"Test string");
// result is @"Test string"
NSString *result = [SomeClass aClassMethod];

关于ios - 所有调用的 OCMock stub 类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34201626/

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